Objective c 为什么发送操作:不';性能选择器:不工作吗?
我有一个自定义类,它支持目标操作机制,但奇怪的是,在这种特定情况下,当我试图通过执行以下命令来调用操作时:Objective c 为什么发送操作:不';性能选择器:不工作吗?,objective-c,cocoa,nsapplication,Objective C,Cocoa,Nsapplication,我有一个自定义类,它支持目标操作机制,但奇怪的是,在这种特定情况下,当我试图通过执行以下命令来调用操作时: [NSApp sendAction:action_ to:target_ from:self] 它不起作用,但这种方式可以: [target_ performSelector:action_ withObject:self]; 显然,target_和action_都有有效值 这没什么大不了的,因为我已经开始工作了 我就是不明白为什么-[NSApplication-sendAction:
[NSApp sendAction:action_ to:target_ from:self]
它不起作用,但这种方式可以:
[target_ performSelector:action_ withObject:self];
显然,target_
和action_
都有有效值
这没什么大不了的,因为我已经开始工作了
我就是不明白为什么
-[NSApplication-sendAction:to:from:://code>不起作用,因为这看起来是一个非常基本的操作。我过去一直在使用sendAction:…
,没有问题,但这两者之间似乎有一些显著的区别,除此之外,sendAction
有一种机制,可以在目标为nil
时查找响应消息的对象,您确定NSApp
在执行sendAction:to:from:
时不是nil
如果是这样,什么也不会发生。要确保NSApp
是有效的对象,请至少执行一次[NSApplication sharedApplication]
,或将它们组合起来:
[[NSApplication sharedApplication] sendAction:action_ to:target_ from:self];