Контроллер 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];
Другие вопросы по тегам