我正试图从菜单项向NSSplitViewController的子视图控制器发送操作。据我所知,我应该超越
supplementalTargetForAction:sender:
在splitViewController上为响应程序链提供子视图控制器(
see this post
).
附加目标操作:发件人:
从来没人打过电话。
文件规定:
调用了subjectAltargetForAction: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