Контроллер UIView не отображается в стеке контроллера uinavigation
К окну я добавляю контроллер навигации в качестве корневого контроллера окна. Скажем, первый контроллер представления является корневым контроллером просмотра. В этом первом контроллере просмотра я запускаю nstimer с интервалом повторения 15 секунд, чтобы вызвать API и обновить UI.I Я корректно аннулирую этот запущенный таймер в viewwilldisappear. Через некоторое время, скажем, через 150 секунд, я нажимаю на другой контроллер представления, скажем, secondviewcontroller.
Firstviewcontroller и secondviewcontroller имеют кнопки "назад", чтобы отображать их соответственно. Во втором представлении контроллера представления загрузил, я зарегистрировал имя класса. Пока контроллер навигации выдвинулся от первого контроллера представления ко второму контроллеру просмотра, я вижу журнал. Но если я нажимаю кнопку возврата на втором контроллере просмотра, журнал - [кнопка первого просмотра контроллера] и первый контроллер представления события запущены. Второй контроллер не виден, а затем экран становится черным.
Мой проект дуговой.
Я знаю, что это может быть какой-то глупый вопрос, но на самом деле у меня горит голова!
1 ответ
Я сталкивался с такой же проблемой раньше. Я надеюсь, что вы запускаете NSTimer в NSRunLoop. Пожалуйста, удалите часть кода.
NSRunLoop *runLoop = [NSRunLoop mainRunLoop];
[runLoop addTimer:timer forMode:NSDefaultRunLoopMode];
[runLoop run];