Xcode 7.3 更改了选择器。您需要显式声明属于您的类的选择器:
class MyClass {
func someFunc() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MyClass.itemDroppedOnCharacter(_:)), name: "onTargetDropped", object: nil)
}
@objc func itemDroppedOnCharacter(notif: AnyObject) {
print("Item Dropped On Character")
}
}
如果您不想添加以将选择器公开给 Objective-C,您也可以MyClass
继承 from :NSObject
@objc
class MyClass: NSObject {
func someFunc() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(MyClass.itemDroppedOnCharacter(_:)), name: "onTargetDropped", object: nil)
}
func itemDroppedOnCharacter(notif: AnyObject) {
print("Item Dropped On Character")
}
}