viewDidAppear вызывается после applicationDidEnterBackground?

#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. спасибо за ответ. Я пометил это как исключенное