почему процесс жизненного цикла навигации push/pop и модального представления настоящего/увольнения отличается в swift?

#ios #swift #uinavigationcontroller #modal-dialog

Вопрос:

Я знаю, что навигация и модальность в основном используются для перемещения экрана.

Я распечатал все процессы жизненного цикла при перемещении экрана, но у него немного другой жизненный цикл.

1-й = первый контроллер просмотра

2-й = второй контроллер просмотра

Навигация нажимная/всплывающая

навигация

 // launch app  1st loadView 1st viewDidLoad 1st viewWillAppear 1st viewDidAppear // push 2nd ViewController 2nd loadView 2nd viewDidLoad 1st viewWillDisappear 2nd viewWillAppear 1st viewDidDisappear 2nd viewDidAppear // pop 2nd ViewController 2nd viewWillDisappear 1st viewWillAppear 2nd viewDidDisappear 1st viewDidAppear   

модальное присутствие/отклонение

модальный

 // launch app 1st loadView 1st viewDidLoad 1st viewWillAppear 1st viewDidAppear // present 2nd ViewController 2nd loadView 2nd viewDidLoad 1st viewWillDisappear 2nd viewWillAppear 2nd viewDidAppear 1st viewDidDisappear // dismiss 2nd ViewController 2nd viewWillDisappear 1st viewWillAppear 1st viewDidAppear 2nd viewDidDisappear  

Если между ними есть разница, я задаюсь вопросом, почему они сделали эту разницу.

Комментарии:

1. Пожалуйста, отредактируйте вопрос, чтобы ограничить его конкретной проблемой с достаточной детализацией для определения адекватного ответа.