我有一个支持目标操作机制的自定义类,但奇怪的是在这种特定情况下,当我尝试通过执行以下操作来调用操作时:
[NSApp sendAction:action_ to:target_ from:self]
它不起作用,但这种方式可以:
[target_ performSelector:action_ withObject:self];
显然
target_
和 action_
都有有效值。这没什么大不了的,因为我让它工作了。
我只是不明白为什么
-[NSApplication sendAction:to:from:]
不起作用,因为这看起来像是一个非常基本的操作。过去我一直在使用 sendAction:...
没有问题,但这两者之间似乎存在一些显着差异,除了 sendAction
有一种机制来查找响应消息的对象(如果其目标是 nil
)。 最佳答案
您确定 NSApp
在您执行 nil
时不是 sendAction:to:from:
吗?
如果是这样,什么都不会发生。要确保 NSApp
是有效对象,请至少执行 [NSApplication sharedApplication]
一次,或将它们组合起来:
[[NSApplication sharedApplication] sendAction:action_ to:target_ from:self];