Флаг пользовательского контейнера ViewController isMovingToParentViewController не работает

Я пытаюсь реализовать свой собственный контейнер ViewController и столкнулся с интересной проблемой.

Прежде всего, я много читал о реализации контейнера ViewController: https://developer.apple.com/library/ios/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html

Я добавил VC следующим образом:

[self addChildViewController:newChildViewController];

NSLog(@"%@", @(newChildViewController.isMovingToParentViewController));

[self.view addSubview:newChildViewController.view];

NSLog(@"%@", @(newChildViewController.isMovingToParentViewController));

[newChildViewController didMoveToParentViewController:self];

Выход:

0
0

То же самое с удалением дочернего VC и флага isMovingFromParentViewController.


person k06a    schedule 20.04.2016    source источник


Ответы (1)


Согласно документам Apple:

Этот метод возвращает YES только при вызове из методов viewWillAppear: и viewDidAppear:.

Это справедливо как для isMovingFromParentViewController, так и для isMovingToParentViewControllerметодов.

Подробности смотрите здесь: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instm/UIViewController/isMovingToParentViewController

person Vladimir K    schedule 20.04.2016