きりかノート 3冊め

おあそびプログラミング

NSBrowser と NSTreeController の微妙なカンケー

今週の Cocoa 勉強会の発表用サンプルプログラムがようやくできた。 iTunes のブラウズ機能(iTMS でもいいけど)を作ってみようというもの。はじめは、 NSTreeController と CoreData で Tiger 全開な実装にするつもりだったのだけど、うまく設計できなかったので NSBrowser の delegate を使うことに。

今回 NSTreeController でうまくいかなかった点は

  • 選択された cell をコントローラのキー・パスで取得できない
  • いちばん左の列の項目数が変化したときに、うまく動作しない

が大きいとこだなあ。 NSManagedObject のサブクラスで NSPredicate を生成するメソッドを定義しておけば、 selection.predicate で選択条件を取得できてらくちん!というモクロミだったのに、あえなく瓦解。

解決方法のわかる人がいたら教えてください。