2016-06-19 1 views
0

Я работаю над приложением с несколькими контроллерами. У меня есть контроллер главного меню, игровые контроллеры с таймером и один игровой контроллер.Нужна помощь при остановке процессов, когда я меняю контроллеры представления в swift.

Главное меню имеет кнопку, которая приведет вас к контроллеру игрового представления. Появляется таймер, который начинается, и когда он достигает нуля, он автоматически переходит к игровому контроллеру.

Проблема в том, что если я нахожусь в контроллере игрового представления и решаю вернуться в главное меню, таймер продолжается.

Затем я получаю предупреждение:

Warning: Attempt to present <...> on <...> whose view is not in the window hierarchy! 

Как получить таймер, чтобы остановить, когда я изменить вид контроллера?

ответ

1

аннулирует таймер до исчезновения вида:

override func viewWillDisappear(animated: Bool) { 
    timer.invalidate() 
    timer = nil 
    super.viewWillDisappear(animated) 
} 
+0

Я добавил этот код, но я удалил таймер = ноль часть, потому что я получаю сообщение об ошибке. У меня есть var timer = NSTime(), и он сказал, что я не могу делать timer = nil. Он все еще работает без него. благодаря – user2303213

Смежные вопросы