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

Ios Swift-将数据从tableview传递到第三个viewcontroller,ios,swift,uitableview,segue,Ios,Swift,Uitableview,Segue,我有太多的代码,无法将其全部粘贴进去,所以我会含糊其辞。我想我只需要大致知道该做什么,然后我就能做到 我有一张漂亮的桌子,上面有当地企业的名单。当您单击一个时,它会打开DetailView,其中包含一些有关业务的重要信息。我在DetailView上有一个MAP按钮,它会触发Thirdview,其中有一个Mapview 我在从第三个视图的TableView中的单元格检索数据时遇到问题 我的看法: Tableview=>DetailView=>Thirdview 在我的第三个视图中,我可以调用Tab

我有太多的代码,无法将其全部粘贴进去,所以我会含糊其辞。我想我只需要大致知道该做什么,然后我就能做到

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

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

我的看法:

Tableview=>DetailView=>Thirdview

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

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

谢谢

表视图

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)

}

我会将数据传递到详细视图,然后在
prepareforsgue
中,将数据传递到第三个视图。明白了。所以prepareForSegue是最好的选择。我想我需要弄清楚在准备室里放什么。有什么建议吗@dstepanI将发布一个答案,该答案将为您解答。请参阅下面我的答案。如果数据总是相同的,您也可以创建一个单例,但这可能不是最适合您的方法。这取决于派生的数据,如果tableView控制器中的数据需要显示在第三个viewController中而不需要显示在第二个viewController中,则无需让第二个viewController显示(详细信息viewController)来保存它。有几种方法可以实现这一点,委派可能是一个不错的选择。你太棒了。一旦我知道如何将你所有的变量转换为我的:)@dstepan