我正在处理一些需要重构的代码。视图控制器充当其他两个视图控制器的容器,并将在它们之间进行交换,如下面的代码所示。
这可能不是最好的设计。可能不需要以这种方式交换视图控制器。我明白那个。但是,当我使用此代码时,我想进一步了解 addChildViewController 调用会发生什么。我无法在 Apple 的文档或相关问题中找到答案,这里(可能表明设计需要更改)。
具体来说 - 容器视图控制器如何处理要求添加它已经添加的子视图控制器的情况?它是否认识到它已经添加了该视图控制器对象?
例如,如果下面的代码在一个方法中 - 并且该方法被调用了两次......
[self addChildViewController:viewControllerB];
[self.view addSubview:viewControllerB.view];
[viewControllerB didMoveToParentViewController:self];
[viewControllerA willMoveToParentViewController:nil];
[viewControllerA.view removeFromSuperview];
[viewControllerA removeFromParentViewController];
谢谢,加文