12

Apple 文档说,传递给 NSMenuItem 操作的发送者可以设置为一些自定义对象,但我似乎无法弄清楚如何做到这一点。有没有我在文档中没有看到的方法?

4

1 回答 1

30

我不确定您指的是什么文档(链接会有所帮助)。

您可以使用 的-setRepresentedObject:方法NSMenuItem将任意对象与菜单项相关联:

//assume "item" is an NSMenuItem object:

NSString* someObj = @"Some Arbitrary Object";

[item setRepresentedObject:someObj];
[item setAction:@selector(doSomething:)];

然后,当菜单项发送其操作消息时,您可以获得对象:

- (IBAction)doSomething:(id)sender
{
    NSLog(@"The menu item's object is %@",[sender representedObject]);
}
于 2010-05-13T05:18:37.833 回答