2017-03-09 105 views
2

我有太多的代码来粘贴它,所以我会变得模糊。我想我只需要一个大概的想法,然后我就可以做到。Swift - 将tableview中的数据传递给第三个viewcontroller

我有一张漂亮的桌子,上面摆放着当地企业的名单。当你点击一个,它打开了DetailView,有关业务的一些很好的信息。我在DetailView上有一个MAP按钮,它在里面触发了带有Mapview的Thirdview。

我有问题从第三视图中的TableView中的单元格中检索数据。

我的观点:

泰伯维=>的DetailView => Thirdview

在我Thirdview,我可以打电话从泰伯维的信息?

或者更容易将信息从DetailView传递给Thirdview?

谢谢!

+1

我会通过数据到详细视图,则在'prepareForSegue',数据传递到第三种观点。 – dstepan

+0

明白了。所以prepareForSegue是最好的选择。 我想我需要弄清楚在prepareForSegue中放什么。有什么建议么? @dstepan – scttcrry

+0

我会发布一个应该为你解决的答案。 – dstepan

回答

0

的TableView

var objects: [MyObject] = [] 

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

    let myObject = objects[indexPath.row] 

} 

override func prepare(for segue: UIStoryboardSegue, sender: Any) { 

    if segue.identifier == "mySegue" { 

     let detailVC = segue.destination as! MyDetailVC 

     detailVC.dataFromTableView = myObject 

    } 

} 

详情查看

var dataFromTableView = MyObject() 

override func prepare(for segue: UIStoryboardSegue, sender: Any) { 

    if segue.identifier == "mySegue" { 

     let thirdVC = segue.destination as! MyThirdViewController 

     thirdVC.dataFromDetailView = dataFromTableView 

    } 

} 

第三个视图

var dataFromDetailView = MyObject() 

override func viewDidLoad() { 

    print(dataFromDetailView) 

} 
+1

你真棒。这绝对有用,一旦我想出了如何将你所有的变量翻译成我的:) @dstepan – scttcrry

+0

很高兴它成功了! – dstepan

相关问题