我试图理解 Cocoa 中的一些东西,但我陷入了一件事。我正在关注Minimalistic Cocoa Programming ,其中有一个 NSMenuItem
负责终止应用程序。现在,我想创建另一个 NSMenuItem
,并带有一个快捷方式,当按下时,它会 NSLog
-s 一些东西。但我不知道该选择器的实现应该放在哪里?我应该子类化整个 NSApplication 吗?我应该 setDelegate
到某个 NSObject
实例,充当 Controller 吗?
最佳答案
您需要创建一个可用作菜单项目标的类。像这样的事情:
@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];
关于cocoa - NSMenuItem 的选择器放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10365127/