@pinapple

Объясните, зачем нужен этот метод?

Когда добавляю в качестве дочернего контроллера childController, то зачем мне в конце нужно выполнять метод didMoveToParentViewController:self? Вот часть кода
[self addChildViewController: childController];
[self.view insertSubview: childController.view atIndex:0];
[childController didMoveToParentViewController:self];
  • Вопрос задан
  • 708 просмотров
Решения вопроса 1
Flanker_4
@Flanker_4
Этот метод сигнализирует дочернему ViewController о том, что его "transition" в родительский контейнер завершена.
Таким образом вы можете реагировать на окончание добавления вашего контроллера в иерархию. Сейчас, вроде как, этот метод ничего не делает у базового UIViewController'a. Тем не менее ВЫ ОБЯЗАНЫ вызвать его при реализации своего кастомного контейнера. Во-первых, никто не гарантирует, что в ios > 9 он таки не начнет что-то делать. Во-вторых, полно сторонних библиотек/подов, где в кастомных компонентах могут быть переопределены эти методы. И вот если вы их пихнете в свой кастомный контейнер и не вызовите didMoveToParentViewController - то будет неопределенное поведение
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы