我正在从服务器加载数据并将其传递给数组。此数据包括坐标,文本,图像等。它还包含名为“ id”的变量(我曾考虑过对特定id进行排序,但不确定这是否是一个好的解决方案)。此数据用于在地图上显示标记。我的任务是在单独的视图上显示此标记的详细信息。如何告诉此详细信息屏幕选择了哪个标记,或者如何根据所选标记从数组中获取特定元素?
这是我创建标记:
for element in spots {
let image = UIImage(named: element.type)
let position = CLLocationCoordinate2D(latitude: element.coordinates.latitude, longitude:
element.coordinates.longitude)
marker = GMSMarker(position: position)
marker.icon = image
marker.map = mapView
}
这是一个非常笼统的问题,在Swift / Cocoa中,有很多方法可以在对象之间传递数据,例如segues,委托,通知,单例模式,或者只是直接初始化(带或不带依赖注入):
let separateView = SeparateView()
separateView.marker = marker // Note that you need a var defined in your separate view in order to set it sooner, marker is your marker defined from before
navigationController?.pushViewController(separateView, animated: true)