В документации Apple говорится, что отправитель, переданный в действие NSMenuItem, может быть настроен на какой-то пользовательский объект, но я не могу понять, как это сделать. Есть ли способ, который я не вижу в документации?
Как настроить отправителя на действие 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]);
}