来自@reccon的未选择的选择器的实例错误

时间:2019-03-24 18:09:50

标签: swift macos cocoa

当我运行我的应用程序时,出现此错误

Nick [66720:3658939]-[_ SwiftValue function1]:无法识别的选择器已发送到实例

我试图离开班级,它说 只有协议成员可以在那里

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”)
 }


}

1 个答案:

答案 0 :(得分:0)

您正在尝试在类级别使用 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")
    }   
}

注意: 类名以大写字母开头