Как настроить отправителя на действие NSMenuItem? - PullRequest
11 голосов
/ 13 мая 2010

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

1 Ответ

27 голосов
/ 13 мая 2010

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

Вы можете использовать -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]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...