チェックボックスのステータスを観察し、チェックボックスのステータスが変更されたときにアプリで適切な変更を加えようとしています。チェックボックスを使用してウィンドウを管理するウィンドウマネージャーでは、次のオブザーバーのセットアップがあります。
- (void)awakeFromNib
{
[myCheckBox addObserver:self
forKeyPath:@"state"
options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld)
context:NULL];
}
- (void)dealloc
{
[myCheckBox removeObserver:self forKeyPath:@"state"];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"KeyPath: %@", keyPath);
NSLog(@"ofObject: %@", object);
NSLog(@"change: %@", change);
}
また、ウィンドウ内の適切なチェックボックスに myCheckBox をファイル所有者 (ウィンドウ コントローラー) に接続しました。ただし、アプリを実行するとobserveValueForKeyPath:ofObject:change:context:
メソッドが呼び出されることはありません。
私は何を間違っていますか?