Car*_*osa 5 cocoa objective-c nsapplication
我有一个支持目标操作机制的自定义类,但奇怪的是在这种特定情况下,当我尝试通过执行以下操作来调用操作时:
[NSApp sendAction:action_ to:target_ from:self]
Run Code Online (Sandbox Code Playgroud)
它不起作用,但这种方式可以:
[target_ performSelector:action_ withObject:self];
Run Code Online (Sandbox Code Playgroud)
显然,两者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];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1480 次 |
| 最近记录: |