带有@objc 的 unreconized 选择器的实例错误
instance error from unreconized selector with @objc
当我 运行 我的应用程序出现此错误时
Nick[66720:3658939] -[_SwiftValue function1]: 无法识别的选择器发送到实例
我试着搬出 class 它说
只有协议成员可以在那里
import Cocoa
class mymainclass: NSObject, NSApplicationDelegate{
var mytimer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(function1), userInfo: nil, repeats: true)
func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {
return dockMenu
}
@objc func function1(){
print(“function1 test”)
}
}
您正在尝试在 class 级别上使用 self,这样它就不会引用您创建的 class 实例。
相反,您可以在创建 class 实例后创建计时器。
在 class 构造函数中,self 将引用您所期望的
class Mymainclass: NSObject, NSApplicationDelegate{
var mytimer: Timer?
override init() {
super.init()
self.mytimer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(function1), userInfo: nil, repeats: true)
}
@objc func function1(){
print("function1 test")
}
}
注意: Class 名字以大写字母开头
当我 运行 我的应用程序出现此错误时
Nick[66720:3658939] -[_SwiftValue function1]: 无法识别的选择器发送到实例
我试着搬出 class 它说 只有协议成员可以在那里
import Cocoa
class mymainclass: NSObject, NSApplicationDelegate{
var mytimer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(function1), userInfo: nil, repeats: true)
func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {
return dockMenu
}
@objc func function1(){
print(“function1 test”)
}
}
您正在尝试在 class 级别上使用 self,这样它就不会引用您创建的 class 实例。
相反,您可以在创建 class 实例后创建计时器。 在 class 构造函数中,self 将引用您所期望的
class Mymainclass: NSObject, NSApplicationDelegate{
var mytimer: Timer?
override init() {
super.init()
self.mytimer = Timer.scheduledTimer(timeInterval: 0.2, target: self, selector: #selector(function1), userInfo: nil, repeats: true)
}
@objc func function1(){
print("function1 test")
}
}
注意: Class 名字以大写字母开头