如何在Swift中将秒计时器连接到分钟计时器?

时间:2015-05-02 23:00:24

标签: swift timer

我已经为分钟和秒创建了一个setupGame和subtractScore类,所以分钟和秒计时器的工作时间都是如此。但是,我无法弄清楚每当秒计时器变为零时如何使分钟计时器减1。基本上我已经尝试使用if语句(例如if(seconds == 0){minutes = minutes - 1}),但这没有效果。

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有时会错过触发,并且不是超精确的。无论您用于显示该信息的计时器以及该计时器中的任何不准确信息,上述代码都将始终计算实际剩余时间。