SWIFT中无法识别的选择器错误

SWIFT中无法识别的选择器错误,swift,function,class,selector,nstimer,Swift,Function,Class,Selector,Nstimer,我有一个自定义类“MyTask”,它可以从其他类(如类“ViewController”)调用。在“MyTask”中,我有一个函数“startTask”,它接受启动NSTimer以执行函数“doStuff”所需的参数 但是,当我使用startTask函数并为其他函数设置选择器时,它会崩溃 class MyTask { var timer = NSTimer() var timerInterval = 0.0 var targ

我有一个自定义类“MyTask”,它可以从其他类(如类“ViewController”)调用。在“MyTask”中,我有一个函数“startTask”,它接受启动NSTimer以执行函数“doStuff”所需的参数 但是,当我使用startTask函数并为其他函数设置选择器时,它会崩溃

 class MyTask {
            var timer = NSTimer()
            var timerInterval = 0.0
            var target: AnyObject!
            var selector = Selector()

            func startTask(time: Double, target target: AnyObject, selector: Selector) {
                self.timerInterval = time
                self.target = target
                self.selector = selector
                doStuff()
            }
func doStuff() {
//....some code here to run
//====Crash happens on this line=====
self.timer = NSTimer.scheduledTimerWithTimeInterval(self.timerInterval, target: self, selector: self.selector, userInfo: nil, repeats: true)

}
在我的另一节课上,我就是这样做的

class ViewController {
   let mynewClass = MyTask()
   mynewClass = startTask(2, target: self, selector_: #selector(updateLabel))

func updateLabel() { print("") }
}
我收到错误***NSForwarding:警告:类“abc”的对象0x7fe90242f6f0未实现methodSignatureForSelector:--前面有问题 无法识别的选择器-[.abc timerAction]


我做错了什么?

作为选择器目标的类必须派生自NSObject。这里使用的是Objective-C特性;您必须有一个Objective-C兼容的类。

您应该以大写字母开头命名所有类。除了@LeoDabus所说的以外,您还不应该在参数名后面附加“\u1”。相反,请使用普通参数名称。然后在初始化器或方法的实现中,使用
self.
设置与参数同名的属性,如下所示:
self.target=target
Leo,abc只是一个示例。。