Swift NSTimer异常

Swift NSTimer异常,swift,nstimer,Swift,Nstimer,我的代码有一个奇怪的bug,当我尝试分配/运行计时器时,它会抛出一个异常 var timer: NSTimer? self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "repeatData", userInfo: nil, repeats: true) 这是我的功能 private func repeatData() { print("test") } 这

我的代码有一个奇怪的bug,当我尝试分配/运行计时器时,它会抛出一个异常

var timer: NSTimer?
     self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: "repeatData", userInfo: nil, repeats: true)
这是我的功能

 private func repeatData() {
        print("test")
}
这个扔

016-02-01 14:45:31.169 twu[43110:60021261] -[Test.Repeater repeatData:]: unrecognized selector sent to instance 0x7f848ba14e10
错误,没有:

2016-01-28 17:27:51.958 my_target[16476:48497867] -[Test.Repeater repeatData]: unrecognized selector sent to instance 0x7fd06bc1c310
2016-01-28 17:27:51.968 my_target[16476:48497867] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Test.Repeater repeatData]: unrecognized selector sent to instance 0x7fd06bc1c310'

我试过使用冒号和不使用冒号。

选择器应该是
“repeatData”
。冒号表示该方法采用的参数是
repeatData
的实现所没有的。

您的问题是
repeatData
私有的。只需移除
专用
,计时器就会工作


使用选择器的方法必须是可访问的方法,否则无法找到它们,这就是为什么它与
无法识别的选择器一起崩溃的原因
错误

我尝试了这两种方法,但错误仍然存在。请打印不带冒号的错误,因为它不能是相同的。@Woodstock我添加的另一个错误是与NSTimer调用在同一swift文件中的私有函数?是@Woodstock它是使用二等兵好的,只是做了个测试。。。不知道为什么这只对了一半。它不工作的原因是由于生成的头。