この数日、Cocoa Bindings の使い方で悩んでいる。というより、混乱している。
MacBloggerGlass に環境設定パネルを作る際にモデルとビュー(パネルに配置した GUI 部品)を結びつけるために、Cocoa Bindings を使った。試行錯誤とドキュメントの流し読みで、どうにか動くものができた。その過程で Cocoa Bindings についても理解した、と思っていた。
同じことをアプリのメインウィンドウでもやろうとした。環境設定パネルでブログの一覧をテーブルビューに表示させたように、メインウィンドウでも記事一覧をテーブルビューに表示させるのに Cocoa Bindings を使おうとしたのだ。これがうまくいかない。環境設定パネルの時と同じように書いたら動かない。
試行錯誤を繰り返し、メインウィンドウでも表示できるようになったが、そのコードは環境設定パネルのものとは少し異なっていた。具体的には、プロパティの更新を KVO で通知する部分が違う。
なにかおかしい。もちろん、おかしいのはわたしの理解の方だ。基本に立ち返って、KVC、KVO の理解を点検するところから始めようと思う。ここをクリアにしない限り、先には進めない。
追記@2010-12-08
この問題については、以下の後続記事を参照のこと。一応、解決している。
- まだ Cocoa Bindings の謎が解けない
- Cocoa Bindings の肝は KVC 準拠だ (これが一応の解決編)
関連リンク
- Kye-Value Coding Programming Guide (Mac OS X Reference Library)
- Key-Value Observing Programming Guide (同上)
0 件のコメント:
コメントを投稿