В документации Apple по UIViewController
говорится:
Если вы реализуете свой собственный контейнерный контроллер представления, он должен вызывать метод willMoveToParentViewController:
дочернего контроллера представления перед вызовом метода removeFromParentViewController
, передавая родительское значение nil.
Когда ваш пользовательский контейнер вызывает метод addChildViewController:
, он автоматически вызывает метод willMoveToParentViewController
: контроллера представления для добавления в качестве дочернего перед его добавлением.
Если вы реализуете свой собственный контроллер представления контейнера, он должен вызвать метод didMoveToParentViewController:
дочернего контроллера представления после завершения перехода на новый контроллер или, если перехода нет, сразу после вызова метода addChildViewController:
.
Метод removeFromParentViewController
автоматически вызывает метод didMoveToParentViewController:
дочернего контроллера представления после его удаления.
Почему я должен вызывать эти методы? Что делают эти методы?
ProfileViewController *profile = [[ProfileViewController alloc] init];
profile.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
[self addChildViewController:profile];
[self.view addSubview:profile.view];
[profile didMoveToParentViewController:self];
Мой код работает отлично, хотя я удаляю последнюю строку. Может ли кто-нибудь помочь мне в этом?
заранее спасибо