2010-07-08 59 views
3

在对象内部,我使用NSMenu的addItemWithTitle:action:keyEquivalent:来创建NSMenuItems。问题是我想调用另一个对象的方法作为操作。 action:部分采用@selector作为参数,我不知道如何使用它来调用其他对象上的方法。我可以在创建NSMenu的对象中创建一个方法,然后从该对象中调用我想调用另一个对象的方法。但是,后来我不知道任何好的命名约定。@selector和其他类(Objective-C)

回答

2

在新创建的NSMenuItem对象上使用setTarget:来设置操作消息的目标对象。下面是The Objectvive-C Programming Language: Selectors的一个示例,它为表格单元格做类似的事情:

[myButtonCell setAction:@selector(reapTheWind:)]; 
[myButtonCell setTarget:anObject]; 
+0

非常感谢!为什么我没有想到这一点。 – Jennifer 2010-07-08 18:17:56

+0

未明确设定时的目标是什么? – hop 2010-07-08 18:28:31

+3

如果目标是'nil',则应用程序将沿响应者链找到响应该动作的对象。 – Wevah 2010-07-08 18:33:38