我有一个简单的 ViewController,它有一个带有 TableViewController 的容器视图。在 ViewController 我从外部 API 加载数据和其中一部分数据,我需要传递到容器中的 TableViewController。
有什么办法吗?谢谢!
我有一个简单的 ViewController,它有一个带有 TableViewController 的容器视图。在 ViewController 我从外部 API 加载数据和其中一部分数据,我需要传递到容器中的 TableViewController。
有什么办法吗?谢谢!
容器视图中包含的控制器可以通过 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;
}
以下是如何在 Swift 中执行此操作:(您必须小心解包器)
override func prepareForSegue(segue:(UIStoryboardSegue!), sender:AnyObject!)
{
if (segue.identifier == "feedContainer")
{
feed = segue!.destinationViewController as! Feed
feed.someFunction()
}
}