我正在尝试观察复选框状态并在复选框状态更改时在应用程序中进行适当的更改。在使用复选框管理窗口的窗口管理器中,我有以下观察者设置:
- (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:
方法时,它永远不会被调用。
我究竟做错了什么?