我已经为分钟和秒创建了一个setupGame和subtractScore类,所以分钟和秒计时器的工作时间都是如此。但是,我无法弄清楚每当秒计时器变为零时如何使分钟计时器减1。基本上我已经尝试使用if语句(例如if(seconds == 0){minutes = minutes - 1}),但这没有效果。
答案 0 :(得分:0)
我不会使用单独的计时器。有秒计时器,每秒触发一次。 听起来你想要一个倒计时器。所以......
使用以下代码记录计时器开始的时间:
let secondsToEnd = 60*5
let startInterval = NSDate.timeIntervalSinceReferenceDate()
let endInterval = startInterval + Double(secondsToEnd)
然后在您的计时器代码中:
let remainingSeconds = Int(endInterval - NSDate.timeIntervalSinceReferenceDate())
let minutes = remainingSeconds/60
let seconds = remainingSeconds%60
显示您需要的分钟和秒值。
如果应用程序在计时器应该关闭时很忙,NSTimers有时会错过触发,并且不是超精确的。无论您用于显示该信息的计时器以及该计时器中的任何不准确信息,上述代码都将始终计算实际剩余时间。