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
我不明白你能帮我用代码吗? –