Я пытаюсь рассчитать время, которое требуется транспортному средству, чтобы пройти между двумя контрольными точками.Для этого я настроил следующий таймер.
func startTimer() {
if hasStarted == true && timerStarted == false {
print("Timing started!")
gameTimer = Timer.scheduledTimer(timeInterval: 0.001, target: self, selector: (#selector(activeTiming)), userInfo: nil, repeats: true)
timerStarted = true
}
}
@objc func activeTiming() {
print("Active timing block")
if(hasFinished == false) {
gameTime = gameTime + 0.001
print("Add time succeeded")
} else {
gameTimer?.invalidate()
}
}
Ожидаемый результат будет следующим:
Timing started!
Active timing block
Add time succeeded
Add time succeeded ... etc
Фактический результат:
Timing started!
Итакможет показаться, что startTimer вызывается правильно, но таймер не запускает блок кода activeTiming.Любые предложения будут чрезвычайно полезны.Заранее благодарю за помощь.