2016-02-01 78 views
2

當我嘗試分配/運行計時器時拋出一個異常,我得到了一個奇怪的錯誤與我的代碼。Swift NSTimer異常

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' 

我有和無結腸試了一下。

+0

這是這個詞的使用私人好嗎的崩潰,只是做了一個試驗...不知道爲什麼 – Woodstock

回答

0

選擇器應該是"repeatData"。冒號意味着該方法採用您的repeatData實施不包含的參數。

+0

我已經嘗試過,並且錯誤仍然存​​在。 – user3037561

+0

打印沒有冒號的錯誤,因爲它不能相同。 – Woodstock

+0

@Woodstock我添加了其他錯誤 – user3037561

1

你的問題是你repeatDataprivate。只要刪除private和你的計時器應該工作。

與選擇是方法必須訪問的方法,否則它不會找到他們,這就是爲什麼它與unrecognized selector錯誤

+0

這只是一半的權利。它不起作用的原因是由於生成的標題。 – Woodstock