この特定のキーの監視を設定しようとしても、何も起こりません。これが私の言いたいことです。
NSTableViewを備えた標準のCocoaアプリケーションがあり、選択されたセルに基づいて画像ビューに表示される画像を変更する方法を理解しました。
今、私は選択されたインデックスによってボタンを無効/有効にする方法を理解しようとしています。これが意味するのは、ウィンドウにボタンがあり、特定のインデックスで無効になっているということです。
SomeClassのinitメソッド
-(id)init {
if (self=[super init]) {
[arrayController addObserver:self forKeyPath:@"selectionIndex" options:NSKeyValueObservingOptionNew context:NULL];
}
}
ただし、observeValueForKeyPath:メソッドを実装すると、新しいインデックスを選択するときに変更が取得されません。実際のところ、ログに記録しようとすると、アウトレットは(null)と表示されます。ただし、AppDelegateにオブザーバーを追加すると、AppDelegate(オブザーバーとして指定されている場合)が変更を取得します。
私の一般的なSomeClassオブジェクトがそうしない理由はありますか?別の方法で行う必要がありますか?
ノート:
SomeClassをNSWindowとしてサブクラス化し、ウィンドウの所有者をSomeClassにし、awakeFromNibにオブザーバーを設定しようとしましたが、これは機能しますが、これを行うには悪い方法のようです。