-
全局可以一直存在一个主定时器
-
每个cell单独控制自己的time值(一个数组去控制)
-
因为每个app都可能存在回到后台,或切换app后再回到app前台,这时候可能app都定时器才继续之前的操作,但实际时间已经过去好几秒或好几十秒
-
因此,在定时器计算时间差时,应该是
最后时间 = 截止倒计时+当前时间
然后每个循环时,拿到当前时间,用最后时间减掉,就是时间差
或者直接用swift的时间差方法:
let lastTime = lastTimes[id]?.string.int ?? 0
let date = Date.init(milliseconds: lastTime)
let time = Int(ceilf(Float(date.secondsSince(Date()))))
ps:参考:过小低
网友评论