Cómo configurar matriz para múltiples annotations con swift

¿Cómo se debe configurar la matriz a continuación? Estoy tratando de agregar múltiples annotations en mi map. Pude encontrar el código a continuación en stackoverflow pero no mostraron cómo configurar la matriz.

var objects = [ //how should the array be setup here ] for objecters in objects!{ if let latit = objecters["Coordinates"]["Latitude"]{ self.latitudepoint = latit as! String self.map.reloadInputViews() } else { continue } if let longi = objecters["Coordinates"]["Longitude"]{ self.longitudepoint = longi as! String self.map.reloadInputViews() } else { continue } var annotation = MKPointAnnotation() var coord = CLLocationCoordinate2D(latitude: Double(self.latitudepoint)!,longitude: Double(self.longitudepoint)!) mapView.addAnnotation(annotation) } 

Podrías hacer, por ejemplo:

 let locations = [ ["title": "New York, NY", "latitude": 40.713054, "longitude": -74.007228], ["title": "Los Angeles, CA", "latitude": 34.052238, "longitude": -118.243344], ["title": "Chicago, IL", "latitude": 41.883229, "longitude": -87.632398] ] for location in locations { let annotation = MKPointAnnotation() annotation.title = location["title"] as? String annotation.coordinate = CLLocationCoordinate2D(latitude: location["latitude"] as! Double, longitude: location["longitude"] as! Double) mapView.addAnnotation(annotation) } 

O bien, alternativamente, use un tipo personalizado, por ejemplo:

 struct Location { let title: String let latitude: Double let longitude: Double } let locations = [ Location(title: "New York, NY", latitude: 40.713054, longitude: -74.007228), Location(title: "Los Angeles, CA", latitude: 34.052238, longitude: -118.243344), Location(title: "Chicago, IL", latitude: 41.883229, longitude: -87.632398) ] for location in locations { let annotation = MKPointAnnotation() annotation.title = location.title annotation.coordinate = CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude) mapView.addAnnotation(annotation) } 

O puede replace eso for bucle con map :

 let annotations = locations.map { location -> MKAnnotation in let annotation = MKPointAnnotation() annotation.title = location.title annotation.coordinate = CLLocationCoordinate2D(latitude: location.latitude, longitude: location.longitude) return annotation } mapView.addAnnotations(annotations)