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

如何在Swift中将秒计时器连接到分钟计时器?,swift,timer,Swift,Timer,我已经为分钟和秒创建了一个setupGame和subtractScore类,因此分钟和秒计时器现在都可以工作。但是,我不知道如何使分钟计时器在每次秒计时器归零时减少1。基本上,我尝试使用if语句,例如ifseconds==0{minutes=minutes-1},但没有效果。我不会使用单独的计时器。有一个每秒触发一次的秒计时器。 听起来你想要一个倒计时。所以 使用如下代码记录计时器启动的时间: let secondsToEnd = 60*5 let startInterval = NSDate

我已经为分钟和秒创建了一个setupGame和subtractScore类,因此分钟和秒计时器现在都可以工作。但是,我不知道如何使分钟计时器在每次秒计时器归零时减少1。基本上,我尝试使用if语句,例如ifseconds==0{minutes=minutes-1},但没有效果。

我不会使用单独的计时器。有一个每秒触发一次的秒计时器。 听起来你想要一个倒计时。所以

使用如下代码记录计时器启动的时间:

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
根据需要显示分钟和秒值


如果应用程序正忙,而计时器本应已关闭,并且不是超精确的,则NSTimer有时会错过触发。上述代码将始终计算实际剩余时间量,而不考虑用于显示该信息的计时器以及该计时器中的任何错误。

您应该查看NSTimeInterval