将数据从一个视图控制器传递到同一视图上的另一个视图控制器。

问题描述 投票:0回答:1

我正在开发我的第一个应用程序,我有 两个视图控制器同时显示。. 第一个是我的谷歌地图和顶部的视图是一个面板(荚),我。创办. 谷歌地图视图控制器调用了 面板 这是在一个单独的故事板。

我希望能够 传话 视图,而不需要使用转场。我已经尝试过segue的方法,但它完全取代了整个视图。有没有一种方法可以让我把数据传递给面板,而不用单独切换到那个视图?

extension MapViewController: GMSMapViewDelegate {
     func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {

        guard let placeMarker = marker as? PlaceMarker else {return false}


        guard let panview = self.storyboard?.instantiateViewController(withIdentifier: "atminfo") as? PanelMaterial
        else {
            return false
        }


        panview.Titlee = placeMarker.place.name
        atmaddress = panview.Titlee ?? "Me"
        print(atmaddress)

        return false



  }

}

上面是我的代码,这是一个GoogleMaps ViewController,这是我从pin接收信息的地方,并尝试将其传递给在同一视图中活动的面板。当我设置断点时,我能够接收数据,但在GoogleMaps视图中面板仍处于活动状态时传递数据却无法显示。

感谢任何帮助。

ios swift google-maps-markers uistoryboard google-maps-sdk-ios
1个回答
0
投票

你也可以使用单人类来传递数据到不同的控制器,或者你可以在appdelegate中创建对象,它也可以从任何类中使用。

像这样。

在appdelegate中声明变量

var channelID = ""

你可以用

let kAppDelegate = UIApplication.shared.delegate as! AppDelegate
print(kAppDelegate.channelID)
© www.soinside.com 2019 - 2024. All rights reserved.