#ios #swift #ios-lifecycle
#iOS #swift #ios-жизненный цикл
Вопрос:
Насколько я знаю, ничто не может быть вызвано после applicationDidEnterBackground
возврата, поскольку после этого приложение приостанавливается. Мое приложение разработано таким образом — оно начинается с начального контроллера, который загружает некоторые данные с сервера, и после его загрузки оно переходит на другой контроллер. Я установил точку останова для viewWill/DidAppear
моего второго vc и другую точку останова для applicationDidEnterBackground
в AppDelegate. Я запускаю приложение и сразу же сворачиваю его. К моему большому удивлению applicationDidEnterBackground
это была не последняя точка останова, которую я смог поймать! Иногда я ловил их в этом порядке SecondVC.viewWillAppear
-> applicationDidEnterBackground
-> SecondVC.viewDidAppear
, а иногда в этом applicationDidEnterBackground
-> SecondVC.viewWillAppear
-> SecondVC.viewDidAppear
! Как это возможно? Единственное адекватное объяснение, которое я могу найти, заключается в том, что когда приложение подключено к жизненному циклу отладчика, оно работает немного иначе, но я не уверен, что это причина. Итак, кто-нибудь может объяснить, почему это происходит? Спасибо!
Комментарии:
1. Вам нужно будет указать коды, которые вы пробовали в отношении вашего заявления
Ответ №1:
applicationDidEnterBackground:
это не последняя процедура, которая выполняется процессом приложения перед его приостановкой.
Согласно описанию этого метода, процесс вашего приложения не приостанавливается примерно на следующие 5 (пять) секунд после вызова этого метода и продолжает работать в обычном режиме.
Комментарии:
1. спасибо за ответ. Я пометил это как исключенное