在Cocoa中,为NSMenuItem设置目标/操作的正确方法是使用setTarget:
和setAction:
方法。以下是一个简单的示例:
// 导入AppKit框架
#import <AppKit/AppKit.h>
// 创建一个自定义的NSMenuItem
NSMenuItem *menuItem = [[NSMenuItem alloc] initWithTitle:@"My Menu Item" action:@selector(myAction:) keyEquivalent:@""];
// 设置目标和操作
[menuItem setTarget:self];
[menuItem setAction:@selector(myAction:)];
// 将自定义的NSMenuItem添加到菜单中
NSMenu *menu = [[NSMenu alloc] initWithTitle:@"My Menu"];
[menu addItem:menuItem];
// 实现自定义的操作方法
- (void)myAction:(id)sender {
NSLog(@"My action is called!");
}
在这个示例中,我们创建了一个自定义的NSMenuItem
,并设置了其目标和操作。当用户点击菜单项时,myAction:
方法将被调用。
请注意,这个示例是使用Objective-C编写的。如果您使用Swift编写代码,请使用以下方法:
// 导入AppKit框架
import AppKit
// 创建一个自定义的NSMenuItem
let menuItem = NSMenuItem(title: "My Menu Item", action: #selector(myAction(_:)), keyEquivalent: "")
// 设置目标和操作
menuItem.target = self
menuItem.action = #selector(myAction(_:))
// 将自定义的NSMenuItem添加到菜单中
let menu = NSMenu(title: "My Menu")
menu.addItem(menuItem)
// 实现自定义的操作方法
@objc func myAction(_ sender: Any) {
print("My action is called!")
}
在这个示例中,我们使用Swift编写了一个自定义的NSMenuItem
,并设置了其目标和操作。当用户点击菜单项时,myAction:
方法将被调用。
总之,在Cocoa中为NSMenuItem设置目标/操作的正确方法是使用setTarget:
和setAction:
方法,并确保实现了相应的操作方法。
领取专属 10元无门槛券
手把手带您无忧上云