【发布时间】:2012-10-02 01:32:26
【问题描述】:
我正在以编程方式创建一个菜单:
+ (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(goToURL:),以便在单击项目时可以调用:
+ (void)goToURL:(id)obj {
NSLog(@"Open url:...%@", obj);
}
如果我尝试传递 @selector(goToURL:var2:),我会收到未捕获的异常错误。
【问题讨论】:
-
您能否提供您正在调用的导致崩溃的实际代码?
-
在我调用
action:@selector(goToURL:mid:)的地方添加了完整功能...我还在 XCode 中收到“未使用的变量中间”警告...我正在使用它!
标签: objective-c cocoa