我试过下面的代码,但是在后台没有工作,它在地面上运行良好 . 它是从我们将app留在后台的地方开始的 .
self.timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(self.updateTimer), userInfo: nil, repeats: true)
func updateTimer()
{
let minute = (time / 60) % 60
let second = time % 60
let hours = (time / 3600)
time += 1
self.lblTIme.text = String(format: "%02d:%02d:%02d", hours, minute, second)
}
1 回答
解决这个问题的诀窍是不要自己管理时间,让iOS为你做 .
在日期中保存时间(从您想要开始计数开始),并根据保存日期和当前日期(
Date()
)的差异计算经过时间 .这对代码更加清晰,并且可以帮助您在应用程序背景时停止计时器 .