2015-12-29 52 views
1

我使用NSTimer進行秒錶設置。我已經使用了三個按鈕發揮暫停停止。所有三個工作正常。但是當我點擊按鈕不止一次它開始快速計數。之後暫停停止按鈕不起作用。我明白,通過多次點擊玩法,我開始了許多計時器,但是我沒有得到的是爲什麼暫停和停止不工作?NSTimer快速進入

回答

1

爲該類設置全局定時器對象。

之前播放檢查定時器檢查isValid像這樣if(timer.isValid== false)然後啓動計時器否則什麼都不做。關於到停止暫停另外,如果計時器的IsValid然後停止或暫停。

+0

感謝您的回答ios學習者。但這是解決方案。我想知道爲什麼我們不能停止計時器。爲什麼timer.invalidate()不起作用? – dvshrwt

+0

我認爲你每次創建新的對象計時器,當你創建新的對象舊對象將運行,你失去了舊的計時器引用,當你試圖使無效只新創建將無效和舊的一個運行,但你失去了它的參考所以你不能使它失效 – jay

+0

定時器對象是全局的。查看播放按鈕的代碼@IBAction func playButton(sender:AnyObject){ // if check { // check = false timer = NSTimer.scheduledTimerWithTimeInterval(1,target:self,selector:Selector(「incrementor」 ),用戶信息:無,重複:真) } – dvshrwt