我有一个简单的ViewController,其中包含一个TableViewController的容器视图。 在ViewController中,我从外部API加载数据,并且其中一部分数据需要传递到容器中的TableViewController。
有没有什么方法可以做到这一点? 谢谢!
我有一个简单的ViewController,其中包含一个TableViewController的容器视图。 在ViewController中,我从外部API加载数据,并且其中一部分数据需要传递到容器中的TableViewController。
有没有什么方法可以做到这一点? 谢谢!
从父控制器可以通过self.childViewControllers访问包含在容器视图中的控制器。如果只有一个,则它将位于self.childViewControllers [0]。
注意:关于RD在下面评论中解释的出色技巧;这里是一个经过测试且有效的典型示例:这只需放置在整个场景的VC中。只需单击转场本身(即连接箭头中间的小符号)即可设置文本标识符。
-(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;
}
以下是如何在Swift中完成它的方式:(您必须小心处理解包器)
override func prepareForSegue(segue:(UIStoryboardSegue!), sender:AnyObject!)
{
if (segue.identifier == "feedContainer")
{
feed = segue!.destinationViewController as! Feed
feed.someFunction()
}
}