我正在尝试将数据传递到swiftui视图中,以便在初始化时显示该视图,但无法使其正常工作。
这是我的代码,该代码将数据传递到“ MarkerInfoWindow.swift”视图中:
func mapView(_ mapView: GMSMapView,markerInfoContents marker: GMSMarker) -> UIView? {
print("Showing marker infowindow")
print("marker.userData: \(marker.userData)")
let mUserData = marker.userData as? [String:String]
print("mUserData?['name']",(mUserData?["name"]) ?? "mUserData[name] was nil")
let mInfoWindow = UIHostingController(rootView: MarkerInfoWindow(placedata: mUserData!))
return mInfoWindow.view
}
这是我的'MarkerInfoWindow.swift'视图的代码:
struct PlaceDataStruct {
var name : String
var place_id : String
}
struct MarkerInfoWindow: View {
var placedata: [PlaceDataStruct]
var body: some View {
//Here is where i keep getting errors regardless if i use this method or dot notation
Text(placedata["name"])
}
}
我不确定即时通讯是否会错误地实现我的PlaceDataStruct。 有人知道我在做什么错,以便每次视图初始化时都可以显示正确的数据吗?