5

我有一个支持目标动作机制的自定义类,但在这种特定情况下奇怪的是,当我尝试通过执行来调用动作时:

[NSApp sendAction:action_ to:target_ from:self]

它不起作用,但这种方式可以:

[target_ performSelector:action_ withObject:self];

显然两者都target_具有action_有效值。

这没什么大不了的,因为我让它工作了。

我只是不知道为什么-[NSApplication sendAction:to:from:]不起作用,因为这看起来像是一个非常基本的操作。我过去一直在使用sendAction:...没有问题,但是这两者之间似乎存在一些显着差异,除了sendAction具有查找响应消息的对象(如果其目标是nil.

4

1 回答 1

0

你确定NSApp不是nil在你做的时候sendAction:to:from:

如果是这样,什么都不会发生。为了确保NSApp是一个有效的对象,[NSApplication sharedApplication]至少执行一次,或者将它们组合起来:

[[NSApplication sharedApplication] sendAction:action_ to:target_ from:self];
于 2011-09-25T13:47:42.060 回答