У меня есть NSTimer, чтобы стрелять каждую секунду. Используя Simulator, это вызовет метод eachSecond() правильно после перехода от приложения, нажав кнопку home. Тем не менее, на реальном iPhone 6, как только я перемещаюсь, everySeconds не вызывается снова, пока приложение не будет открыто снова.NSTimer не срабатывает после нажатия кнопки дома
Почему это может быть по-другому на реальном устройстве? Есть ли способ гарантировать, что он будет срабатывать каждую секунду в этом случае?
Его приложение для фитнеса, поэтому необходимо записывать продолжительность, когда телефон блокируется, или пользователь мгновенно перемещается.
Спасибо,
lazy var timer = NSTimer()
fun init() {
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: #selector(RunViewController.eachSecond(_:)), userInfo: nil, repeats: true)
}
func eachSecond() {
// update UI etc.
}
The 'scheduledTimerWithTimeInterval 'функция уже добавляет таймер в цикл выполнения. – dan