我有一个带有标签和文本字段的视图控制器。我还添加了一个容器视图,它指向另一个具有一个部分和 3 行的表视图控制器,基本上是静态表视图。我找不到任何文档/示例来告诉您如何在包含容器视图的视图控制器和嵌入在容器视图中的表视图容器之间传递数据。我要双方沟通?
4 回答
嵌入在容器视图(在故事板中)的控制器会自动添加为添加容器视图的控制器的 childViewController。只是为了理解我的意思,在基本控制器的 viewDidLoad 方法中添加这一行:
NSLog(@"children : %@", self.childViewControllers);
因此,假设在 VC1 中,您添加了一个带有嵌入式控制器 VC2(您的 tableViewController)的容器视图,那么上述语句会将 VC2 记录为 VC1 的子项。要从 VC1 访问 VC2,只需使用[self.childViewControllers objectAtIndex:0],要从 VC2 访问 VC1,只需使用 self.parentViewController。
希望这可以帮助
如果您在情节提要中进行设置,则使用 segues。就像故事板中的大多数其他内容一样。
[self.childViewControllers lastOject]
或者[self.childViewControllers objectAtIndex:index];
,取决于您有多少子 VC。
UIViewController -childViewControllers 和 -parentViewController 上有新的属性。你可以用那些。
或者,您可以自己建立关系。厌倦保留周期。也许父母拥有孩子,而孩子对父母的引用很弱。