在Swift中获取Timer中时间间隔的剩余时间

时间:2017-06-17 20:42:47

标签: swift

我有一个精灵使用计时器每隔x秒“拍摄”更多精灵:

self.shootingEngine = Timer.scheduledTimer(timeInterval: (Double(60)/Double(self.ratePerMinute)), target: self, selector: #selector(ShootingEnemy.shoot), userInfo: nil, repeats: true)

所以时间间隔由下式定义:

(Double(60)/Double(self.ratePerMinute)) // Let's say it is 2 seconds.

时间间隔,在此示例中为2秒。它每2秒触发一次shoot()方法。现在,我想弄清楚如何在Timer再次运行shoot()方法之前获得剩余时间。例如,我想知道在下一次射击之前还有0.74秒()

我在考虑使用它:

NSDate().timeIntervalSince1970 * 1000

将时间保存到变量中,然后只是找出当前时间的差异。但是,我首先要检查是否有更简单的方法来避免必须存储另一个实例变量。

1 个答案:

答案 0 :(得分:1)

let timeRemaining = shootingEngine.fireDate.timeIntervalSince(Date())

如果您有任何其他问题,请与我们联系。祝你好运!