cpj*_*eur 1 cocoa objective-c nsmenu nsmenuitem
我是Obj-C/Cocoa编程的新手,我在尝试动态地将菜单项添加到NSMenu实例并在插入时已经设置了项操作选择器时遇到了问题.
我可以,添加动态菜单项,但通过菜单单击项目时,动作选择器不会触发.
下面的第一行是我用来添加菜单项的代码行.您可以设置我将动作:(SEL)aSelector设置为"openEchowavesURL"功能.
这个函数在同一个控制器类文件中,我已经包含了下面的函数定义.
我只是调用错误的选择器语法或某些东西?或者单击时让菜单项调用选择器的技巧是什么?
[statusMenu insertItemWithTitle:[NSString stringWithFormat:@"%d - %@", convo.newMessagesCount, convo.ewName] action:@selector(openEchowavesURL:) keyEquivalent:@"" atIndex:0];
Run Code Online (Sandbox Code Playgroud)
- (void)openEchowavesURL:(id)sender {
// function details here
}
Run Code Online (Sandbox Code Playgroud)
Lau*_*ble 11
如果希望针对对象触发操作,则必须为新NSMenuItem指定目标:
NSMenuItem *item = [statusMenu insertItemWithTitle:[NSString stringWithFormat:@"%d - %@", convo.newMessagesCount, convo.ewName] action:@selector(openEchowavesURL:) keyEquivalent:@"" atIndex:0];
[item setTarget:self]; // or whatever target you want
Run Code Online (Sandbox Code Playgroud)
如果不这样做,则NSResponder链将被移动,直到对象响应选择器.
| 归档时间: |
|
| 查看次数: |
5664 次 |
| 最近记录: |