我尝试了下面的代码但是在后台没有工作,它在地面上运行良好。它是从我们将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)
}
答案 0 :(得分:0)
解决这个问题的诀窍是不要自己管理时间,让iOS为你做。
在日期中保存时间(从您想要开始计算的时间),并根据保存日期和当前日期(Date()
)的差异计算经过时间。
这对代码更加清晰,并且可以帮助您在应用程序背景化时停止计时器。