Objective c Cocoa-如何使用NSMenuItem传递参数';什么行动?

Objective c Cocoa-如何使用NSMenuItem传递参数';什么行动?,objective-c,cocoa,Objective C,Cocoa,我正在以编程方式创建菜单: + (void)refreshStatusMenu { for (NSDictionary *dict in kbMsgSet) { NSString *msj = [dict objectForKey:@"msj"]; NSString *mid = [dict objectForKey:@"mid"]; // <- this would be http://www.blah.com msg_item

我正在以编程方式创建菜单:

+ (void)refreshStatusMenu {
    for (NSDictionary *dict in kbMsgSet) {
        NSString *msj = [dict objectForKey:@"msj"];
        NSString *mid = [dict objectForKey:@"mid"]; // <- this would be http://www.blah.com 

        msg_item = [[NSMenuItem alloc] initWithTitle:[NSString stringWithFormat:@"%@", msj] action:@selector(goToURL:mid:) keyEquivalent:@""];

        [msg_item setTarget:[self class]];
        [sm insertItem:msg_item atIndex:(i_msg)];
        i_msg++;
        //...
    }
}

如果我尝试传递
@selector(gotour:var2:)
我会得到未捕获的异常错误。

一个操作方法不能有两个参数。应该只有一个发送者,在本例中是菜单项。有关将额外信息附加到菜单项并在操作方法中检索该菜单项的方法,请参见的答案。

能否提供导致崩溃的实际调用代码?在调用
action:@selector(goToURL:mid:)
的地方添加了完整的函数。。。我在XCode中也得到了“Unused variable mid”警告。。。我在用它!
+ (void)goToURL:(id)obj {
    NSLog(@"Open url:...%@", obj);
}