Swift - 将数据从tableview传递到第三个viewcontroller

时间:2017-03-09 19:16:06

标签: ios swift uitableview segue

我有太多代码要将它全部粘贴,所以我会变得模糊。我想我只需要知道该怎么做,然后我就能做到。

我有一张漂亮的桌子,里面有当地企业的名单。当您单击一个时,它会打开DetailView,其中包含有关业务的一些重要信息。我在DetailView上有一个MAP按钮,它触发了第三视图,里面有一个Mapview。

我在第三次视图中从TableView中的单元格中检索数据时遇到问题。

我的观点:

Tableview => DetailView => Thirdview

在我的第三视图中,我可以调用Tableview中的信息吗?

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

谢谢!

1 个答案:

答案 0 :(得分: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)

}