0
我想停止此計時器,然後從停止它的位置重新啓動計時器。停止並重新啓動計時器
secondsTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(addSeconds), userInfo: nil, repeats: true)
下面,有人建議我不應該增加在我的定時器處理程序定時器。爲什麼不?
例如,使用GCD定時器:
func countSeconds() {
secondsTimer = DispatchSource.makeTimerSource(queue: .main)
secondsTimer?.schedule(deadline: .now(), repeating: 1.0)
secondsTimer?.setEventHandler { [weak self] in
self?.addSeconds()
}
}
@objc func addSeconds() {
seconds += 1
}
func startGame() {
secondsTimer?.resume()
}
而我該如何創建一個可以停止和恢復的秒計數器?非常感謝 –
當你啓動一個定時器並暫停計時器時,捕獲開始時間('CACurrentMediaTime()'或'CFAbsoluteTimeGetCurrent()'),計算'CACurrentMediaTime()'或'CFAbsoluteTimeGetCurrent()'與節省了開始時間。 – Rob
我不明白你能幫我用代碼嗎? –