2016-11-17 30 views
0

我打電話給startTimer()並在控制檯上打印了「啓動定時器」,但定時計時器不會觸發。有什麼想法嗎?定時器沒有在WatchOS上觸發3

func startTimer() { 
    print("start timer") 
    let timerDidFire: (Timer) -> Void = { timer in 
     print("timer") 
     self.updateLabels() 
    } 

    timer = Timer.scheduledTimer(withTimeInterval: 1, repeats: true, block: timerDidFire) 
} 

回答

0

以下這些方法在WatchOS 3中對於Timer是非常完美的。

func startTimers() { 
     RefreshTimer = Timer.scheduledTimer(timeInterval: 60, target: self, selector: #selector(InterfaceController.RefreshData), userInfo: nil, repeats: true) 
    } 

    func stopTimers() { 
     RefreshTimer.invalidate() 
    } 
+0

遺憾的是不與基於塊的API – jjatie

+0

你能不能給解決問題示例項目瞭解清楚:) – Shrawan

+0

@Shrawan他問關閉方法,而不是選擇器。 – dimpiax

0

確保你執行你的計時器主要線程。 您可以通過在線程檢查當前執行:

print(Thread.current) 

如果不是主要的,打電話給你的計時器在這裏:

DispatchQueue.main.async { 
    // here is your timer 
}