- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我在 XCode 中设置了 Storyboard,并有一个 MainViewController。在 MainViewController 中,我添加了一个 ContainerView,它自然地创建了一个与另一个 VIewController 的 Segue。
在我的 MainViewController.m 文件中,我设置了数据并想将此数据链接到 ContainerView 中的标签,但是我想我可以单击文件所有者并执行此操作,但我当然不能,因为它们是 2现在有不同的 View Controller 。
有人可以帮助我吗,因为我正在为此苦苦挣扎。一定有一个简单的方法,但我无法破解它!
谢谢
最佳答案
您可以像使用任何其他两个 Controller 一样使用 prepareForSegue -- 该方法将在两个 Controller 实例化之后但在任一 viewDidLoad 运行之前被调用。另一种方法是使用父 Controller 的 childViewControllers 属性(嵌入式 Controller 是一个子 Controller )。所以, child 将是 self.childViewControllers[0]。
编辑后:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"EmbedSegue"]) {
MyEmbeddedController *embed = segue.destinationViewController;
embed.labelString = self.stringToPass;
}
}
当然,您必须将名称更改为您拥有的名称。确保您在 IB 中为 segue 指定的名称与您在 if 语句中检查的名称相匹配。在此示例中,labelString 是您在嵌入式 Controller 中设置的字符串属性。然后在该 Controller 的 viewDidLoad 方法中,您可以使用该字符串设置标签的值。
关于ios - 如何将数据从我的 ViewController 传递到容器 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17763457/
我是一名优秀的程序员,十分优秀!