Я пытаюсь наблюдать за состоянием флажка и вносить соответствующие изменения в приложение при изменении статуса флажка. В оконном менеджере, который управляет окном с флажком, у меня есть следующая настройка наблюдателя:
- (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:
никогда не вызывается.
Что я делаю не так?