Как настроить отправителя на действие NSMenuItem?

В документации Apple говорится, что отправитель, переданный в действие NSMenuItem, может быть настроен на какой-то пользовательский объект, но я не могу понять, как это сделать. Есть ли способ, который я не вижу в документации?

Ответ 1

Я не уверен, какую часть документации вы имеете в виду (ссылка поможет).

Вы можете использовать метод -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 object is %@",[sender representedObject]);
}