childViewControllers在viewDidLoad和prepareForSegue中有所不同

时间:2016-02-11 13:12:31

标签: ios swift

我的故事板中有三个容器,其中嵌入了三个不同的视图控制器类(A,B,C)。

我希望在嵌入这些视图控制器之前设置委托。我想在prepareForSegue中做到这一点。但是,我发现viewDidLoad和prepareForSegue中的子控制器之间存在差异,为什么会这样?

如果我在viewDidLoad中的self.viewControllers中运行viewController,我会收到A,B,C。

如果我在prepareForSegue中运行相同的命令,我会得到A,A,B。

C类离开prepareForSegue的地方在哪里?

重新排序故事板中的容器会更改我返回的那些viewControllers。如果我将B放在顶部,那么我会在prepareForSegue方法中找回B,B,A。

There are three containers in my storyboard

顶部是A类,左边是B类,右边是C类。

它们都嵌入在HomeViewController UIViewController类中。

在HomeViewController中:

[\s\S]*

所以我认为这是因为当调用第一个embedSegue时,没有childViewControllers正确,因为在嵌入之前调用了embed?

所以我想我的问题是,当这些视图控制器尚未嵌入并添加到childControllers时,如何设置这些视图控制器之间的委托关系?

0 个答案:

没有答案