我试着理解Cocoa中的一些东西,但我被困在一件事上。我正在关注Minimalistic Cocoa Programming,其中NSMenuItem
负责终止该应用。现在,我想用快捷方式创建另一个NSMenuItem
,按下时,它NSLog
- 是一些东西。但我不知道我应该把执行器放在哪里呢?我应该对整个NSApplication
进行子类化吗?我应该setDelegate
到某个NSObject
实例,充当控制器吗?
答案 0 :(得分:2)
您需要创建一个可用作菜单项目标的类。像这样:
@interface Tester : NSObject
@end
@implementation Tester
- (void)logTest:(id)sender
{
NSLog(@"Test");
}
@end
然后将其设为目标:
id testMenuItem = [[[NSMenuItem alloc] initWithTitle:@"Log Test" action:@selector(logTest:) keyEquivalent:@"l"] autorelease];
id tester = [[[Tester alloc] init] autorelease];
[testMenuItem setTarget:tester];