NSBrowser と NSTreeController の微妙なカンケー
今週の Cocoa 勉強会の発表用サンプルプログラムがようやくできた。 iTunes のブラウズ機能(iTMS でもいいけど)を作ってみようというもの。はじめは、 NSTreeController と CoreData で Tiger 全開な実装にするつもりだったのだけど、うまく設計できなかったので NSBrowser の delegate を使うことに。
今回 NSTreeController でうまくいかなかった点は
- 選択された cell をコントローラのキー・パスで取得できない
- いちばん左の列の項目数が変化したときに、うまく動作しない
が大きいとこだなあ。 NSManagedObject のサブクラスで NSPredicate を生成するメソッドを定義しておけば、 selection.predicate で選択条件を取得できてらくちん!というモクロミだったのに、あえなく瓦解。
解決方法のわかる人がいたら教えてください。