访问容器视图控制器(Access to container view controller)

2019-08-18 05:50发布

我有简单的ViewController这与TableViewController一个容器视图。 在从的ViewController外部API我加载数据,并且该数据的一个部分,我需要传递到TableViewController在容器中。

有什么办法如何做到这一点? 谢谢!

Answer 1:

在包含在容器中的视图控制器可以通过从父控制器self.childViewControllers访问。 如果你只有一个,那么这将是在self.childViewControllers [0]。


注:关于RD的优秀的技术在下面的评论解释 ; 这里有一个典型的例子,测试和工作:这只是云在整个场景的VC。 只要点击SEGUE本身(即,在连接箭头中间的小符号)来设置文本标识。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
    {
    if ([segue.identifier isEqualToString:@"containerLogin"])
        self.vcLogin = (LoginVC *)segue.destinationViewController;

    if ([segue.identifier isEqualToString:@"containerStartNew"])
        self.vcStartNew = (StartNewVC *)segue.destinationViewController;

    }

这里只是如何做到这一点的斯威夫特(你必须要小心的unwrappers)

override func prepareForSegue(segue:(UIStoryboardSegue!), sender:AnyObject!)
    {
    if (segue.identifier == "feedContainer")
        {
        feed = segue!.destinationViewController as! Feed
        feed.someFunction()
        }
    }


文章来源: Access to container view controller