Должен ли EXPLICITLY вызывать willMoveToParentViewController:(UIViewController *)parent и didMoveToParentViewController:(UIViewController *)parent?
На сессии WWDC 2012 под названием "Эволюция контроллеров представления на iOS" - (void)willMoveToParentViewController:(UIViewController *)parent
а также - (void)didMoveToParentViewController:(UIViewController *)parent
были упомянуты для использования в реализации пользовательского контейнера для переходов представления.
Если я не ошибаюсь, кажется, что требуется вызвать эти методы EXPLICITLY, либо до - (void)removeFromSuperview
или после - (void)addSubview:(UIView *)view
Однако, когда я зарегистрировал их внутри реализаций подкласса, это показывает, что они были вызваны НЕЗАКОННО. Они были вызваны в нужных местах автоматически.
Итак, я немного растерялся, если эти методы действительно нужно вызывать явно, как указано в сеансе WWDC, или можно не следовать им и не удалять ненужные строки кода.
1 ответ
Объяснил в моей книге:
http://www.apeth.com/iOSBook/ch19.html
По сути, один из двух действительно вызывается неявно, а другой вы должны вызывать явно. Это сводит с ума; Я должен искать правила каждый раз.