从父视图将数据传递到容器视图

时间:2016-03-12 15:54:07

标签: ios objective-c segue uicontainerview

所以我已经看过一些这方面的例子,并尝试过实施它们,但似乎无法让它发挥作用。我有两个VC(在我的照片中都标记为VC1),它们转到第二个视图控制器(照片中的VC2)。 VC2有一个容器视图。我将数据从VC1上的属性传递到VC2上的属性,然后我需要将该数据从V2传递到容器视图上的属性。基于使用一些NSLog,看起来我的嵌入式segue从VC2到我的容器视图的segue准备在VC1传递的数据设置VC2上的属性之前启动,这意味着没有数据被传递给我的容器视图。有办法解决这个问题吗?提前谢谢。

这是我在VC2中的prepareForSegue:

我的容器视图是WineryPhotosCVC。我试图用VC2s酒庄财产设置WineryPhotosCVC的酒庄财产。在调用prepareForSegue到我的容器视图之前,VC1没有设置VC2s winery属性。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

if ([segue.identifier isEqual: @"containerViewSegue"]) {
    WineryPhotosCVC *wineryPhotosCVC = segue.destinationViewController;
    wineryPhotosCVC.winery = _winery;
   }
}

enter image description here

2 个答案:

答案 0 :(得分:0)

你可以在VC2中为Container视图保存一个引用,并在didSet方法中传入VC2中的数据。

答案 1 :(得分:0)

您需要对容器视图的引用才能修改和访问它。所以添加它然后在你的viewWillAppear(在prepareForSegue之后发生,将数据传递给VC2)VC2,你只需直接设置容器的属性或使用容器VC上的函数设置,例如configure(someDataStructure: DataStructure)