addmentalTargetForAction:sender: не вызывается
Я пытаюсь отправить действие из пункта меню в дочерний контроллер представления NSSplitViewController. Как я понимаю, я должен переопределить supplementalTargetForAction:sender:
на splitViewController для предоставления дочернего контроллера представления цепочке респондента ( см. этот пост).
Тем не мение, supplementalTargetForAction:sender:
никогда не звонят.
В документации говорится:
Если этот экземпляр NSResponder сам по себе не отвечает RespondsToSelector:, тогда вызывается AdditionalTargetForAction:sender:.
В процессе отладки я создал новый проект XCode с обычным viewController, переопределив там метод, чтобы увидеть, вызывается ли он - нет.
Вот мой код:
@implementation ViewController
- (BOOL)respondsToSelector:(SEL)aSelector {
NSString *s = NSStringFromSelector(aSelector);
if ([s hasPrefix:@"foo"]) {
// let's pretend we do not respond here.
// I expect `supplementalTargetForAction:sender:` to get called.
return NO;
}
return [super respondsToSelector:aSelector];
}
- (id)supplementalTargetForAction:(SEL)action sender:(id)sender {
// nobody calls me ever :(
return [super supplementalTargetForAction:action sender:sender];
}
- (IBAction)foo:(id)sender {
NSLog(@"Foo");
}
@end
Что я делаю неправильно?