Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何将数据从视图控制器传递到容器?_Ios_Swift_Containers - Fatal编程技术网

Ios 如何将数据从视图控制器传递到容器?

Ios 如何将数据从视图控制器传递到容器?,ios,swift,containers,Ios,Swift,Containers,我对使用Swift编程相当陌生,需要向容器视图传递一些数据 我将变量从另一个VC传递到Eyewear Detail View控制器,然后将其传递到连接到表的容器 在这本书中,我有一本我喜欢放在表格中的信息字典 我一直在挠头寻找答案,但在谷歌搜索上运气不佳。也许你们能帮我。谢谢 您可以使用-voidprepareForSegue:UIStoryboardSegue*segue sender:idsender传递数据 - (void)prepareForSegue:(UIStoryboardSegu

我对使用Swift编程相当陌生,需要向容器视图传递一些数据

我将变量从另一个VC传递到Eyewear Detail View控制器,然后将其传递到连接到表的容器

在这本书中,我有一本我喜欢放在表格中的信息字典

我一直在挠头寻找答案,但在谷歌搜索上运气不佳。也许你们能帮我。谢谢

您可以使用-voidprepareForSegue:UIStoryboardSegue*segue sender:idsender传递数据

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
  if ([segue.destinationViewController isKindOfClass:[YourContainedViewController class]]) {
    // set data here
  }
}

首先,在故事板中设置序列标识符。单击segue链接后,您可以找到可以设置标识符的字段

将调用下一个ViewController的视图控制器

func showSomeViewController() {
    self.performSegueWithIdentifier("TestContainer", sender: self);
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if (segue.identifier == "TestContainer")
    {
        let vc: TestViewController = segue.destinationViewController as! TestViewController
        vc.tmpString = "say ho"
    }

}
class TestViewController: UIViewController {

var tmpString: String!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}
}
和TestViewController

func showSomeViewController() {
    self.performSegueWithIdentifier("TestContainer", sender: self);
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if (segue.identifier == "TestContainer")
    {
        let vc: TestViewController = segue.destinationViewController as! TestViewController
        vc.tmpString = "say ho"
    }

}
class TestViewController: UIViewController {

var tmpString: String!

override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}
}

您的嵌入序列在Eyewear view controller视图加载后立即触发,因此prepareForSegue是您通常与容器视图中的视图控制器共享的地方。@Rog所以,我应该在Eyewear view controller中预存片段?我现在就知道了。谢谢大家,你们的答案帮了我很大的忙,也让我节省了无数的谷歌搜索时间!