Я создал простой проект на основе UINavigationController и добавил несколько операторов NSLog
, чтобы узнать, в каком порядке они вызваны.
- Master
prepareForSegue:
- Detail
viewDidLoad
- Мастер
viewWillDisappear:
- Деталь
viewWillAppear:
- Отображается новый вид (с анимацией или без)
- Мастер
viewDidDisappear:
(после завершения анимации) - Сведения
viewDidAppear:
Однако при переключении между представлениями с использованием UITabViewController
порядок отличается:
- SecondTab
viewDidLoad
- SecondTab
viewWillAppear:
- FirstTab
viewWillDisappear:
- Отображается новый вид.
- FirstTab
viewDidDisappear:
- SecondTab
viewDidAppear:
Поэтому кажется, что вы не всегда можете рассчитывать на эти события, происходящие в одном и том же порядке - это может варьироваться в зависимости от природы контроллеров представления, которыми вы являетесьпереход между.
Есть ли какие-то важные моменты, которые я здесь упустил?