didMoveToParentViewController llamó dos veces

Hice una testing simple para get más información sobre el controller de vista contenido.
Tengo un controller de vista donde agregué / quité un controller de vista utilizando la acción de dos botones:

- (IBAction)myInfoAddAction:(id)sender { profileViewController = [[ProfileViewController alloc] init]; [self addChildViewController: profileViewController]; UIView *__view = profileViewController.view; [self.view addSubview: __view]; [profileViewController didMoveToParentViewController: self]; } - (IBAction)myInfoRemoveAction:(id)sender { [profileViewController willMoveToParentViewController: nil]; [profileViewController.view removeFromSuperview]; [profileViewController removeFromParentViewController]; } 

Class ProfileViewController extiende UIViewController y anula los methods willMoveToParentViewController y didMoveToParentViewController

 -( void)willMoveToParentViewController:(UIViewController *)parent { [super willMoveToParentViewController: parent]; NSLog(@"willMoveToParentViewController -> %@", self); } -( void) didMoveToParentViewController:(UIViewController *)parent { [super didMoveToParentViewController: parent]; NSLog(@"didMoveToParentViewController -> %@", self); } -( void)viewWillAppear:(BOOL)animated { NSLog(@"viewWillAppear -> %@", self); } -( void)viewDidDisappear:(BOOL)animated { NSLog(@"viewDidDisappear -> %@", self); } 

Cuando agrego controller de vista, obtuve los siguientes loggings:

 willMoveToParentViewController -> <ProfileViewController: 0x8c52ea0> viewWillAppear -> <ProfileViewController: 0x8c52ea0> didMoveToParentViewController -> <ProfileViewController: 0x8c52ea0> didMoveToParentViewController -> <ProfileViewController: 0x8c52ea0> 

Cuando elimino el controller de vista:

 willMoveToParentViewController -> <ProfileViewController: 0x8c52ea0> didMoveToParentViewController -> <ProfileViewController: 0x8c52ea0> viewDidDisappear -> <ProfileViewController: 0x8c52ea0> didMoveToParentViewController -> <ProfileViewController: 0x8c52ea0> 

Me gustaría saber ¿Por didMoveToParentViewController se invocó didMoveToParentViewController ?

¡Gracias!

También tuve el mismo problema. Además, descubrí que cuando agregué el controller de vista secundario durante viewDidLoad, solo tenía un post. Lo solucioné eliminando la llamada a [super didMoveToParentViewController:] . Creo que el problema tiene que ver con la adición de controlleres de vista secundarios en la callback desde un button, pero no estoy seguro de por qué esto debería causar un problema.