获取容器视图控制器的引用

14

我有一个包含容器视图(设置了一个视图控制器)的 viewController。我正在设置一个 segue,而在 prepareforsegue 方法中,我想获取嵌入在容器视图中的视图控制器的引用。我该怎么做?我知道可以使用segue.destinationViewController来获取UIViewController的引用,但我还想设置被 ContainerView 指向的那个视图控制器。

1个回答

29
你已经得到了答案。容器视图是一个视图,而不是一个视图控制器。它只定义了嵌入式segue将放置子视图控制器的内容视图的框架。
当系统创建子VC时,将调用您的prepareForSegue方法,在那时,segue.destinationViewController将包含包含在容器视图中的子视图控制器的内容。

prepareForSegue方法是在什么时候被调用的?是在父视图控制器的viewDidLoad方法之前还是之后?我不知道它在正常的生命周期中的位置。 - Roadblock
2
@Roadblock 尝试在方法中设置断点,你会看到调用的顺序。 - Abizern
@Duncan:非常感谢您强调这个概念 :) 逻辑运行良好 - Roadblock
3
@Roadblock,在目标视图控制器被创建但显示之前,会调用 prepareForSegue 方法。视图控制器在首次显示前不会创建其内容视图,因此 prepareForSegue 方法将在 viewDidLoad 之前调用。 - Duncan C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接