Прежде всего самый короткий должен относиться к определенной точке, поэтому, когда вы говорите, самый короткий, давайте предположим, что вы говорите о текущем местоположении пользователя, поэтому в следующем коде я опишу, предполагая, что естьпеременная var userLocation: CLLocation
let sorted = dataArray.sorted{ (a, b) -> Bool in
let coordinate1 = CLLocation(latitude: a["addressLatitude"] as! CLLocationDegrees, longitude: a["addressLongitude"] as! CLLocationDegrees)
let coordinate2 = CLLocation(latitude: b["addressLatitude"] as! CLLocationDegrees, longitude: b["addressLongitude"] as! CLLocationDegrees)
return coordinate1.distance(self.userLocation) > coordinate2.distance(self.userLocation)
}
, где let sorted
сортирует ваш массив данных.