我有一个支持目标操作机制的自定义类,但奇怪的是在这个特定情况下,当我尝试通过执行来调用该操作时:
[NSApp sendAction:action_ to:target_ from:self]
它不起作用,但这样做:
[target_ performSelector:action_ withObject:self];
显然,target_
和action_
都有有效值。
当我开始工作时,这不是什么大问题。
我无法弄清楚为什么-[NSApplication sendAction:to:from:]
不起作用,因为这看起来像一个非常基本的操作。我过去一直在使用sendAction:...
而没有问题但是这两者之间似乎有一些显着的区别,除了sendAction
有一个机制来寻找一个响应的对象如果目标是nil
,则会显示消息。
答案 0 :(得分:0)
当您NSApp
时,您确定nil
不是sendAction:to:from:
吗?
如果是的话,什么都不会发生。要确保NSApp
是有效对象,请至少执行一次[NSApplication sharedApplication]
,或将它们合并:
[[NSApplication sharedApplication] sendAction:action_ to:target_ from:self];