Ale*_*lex 1 macos cocoa selector swift swift2
我想发送doSomething给firstResponder,可能是几个对象中的任何一个.
menuItem = NSMenuItem(title: "Do Something!",
action: Selector("doSomething"),
keyEquivalent: "")
Run Code Online (Sandbox Code Playgroud)
我Selector("doSomething")在Swift 2.2之前使用过.我现在该怎么办?
使用选择器创建协议,doSomething并让所有可以作为第一响应者的对象符合它.然后为您的类实现选择器.
@objc protocol MyProtocol {
func myCoolFuncThatManyObjectsRespondTo()
}
extension NSObject: MyProtocol {
func myCoolFuncThatManyObjectsRespondTo() {
print("Sup?")
}
}
let menuItem = NSMenuItem(title: "Do Something!", action: #selector(MyProtocol.myCoolFuncThatManyObjectsRespondTo), keyEquivalent: "")
Run Code Online (Sandbox Code Playgroud)