как преобразовать местоположения: [CLLocation] в Coordinate2D?

как кошка получает координаты делегата didUpdateLocation?

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) 

Пожалуйста, помогите мне. Спасибо


person user9071596    schedule 08.12.2017    source источник
comment
developer.apple.com/documentation/corelocation/cllocation/ Это простое свойство. Затем проверьте первое или последнее значение массива?   -  person Larme    schedule 08.12.2017
comment
я хочу первое значение для первого местоположения   -  person user9071596    schedule 08.12.2017
comment
@user9071596, let coordinate: CLLocationCoordinate2D? = locations.first?.coordinate, наверное.   -  person holex    schedule 08.12.2017


Ответы (3)


простой ответ на этот вопрос в быстром:

(locations.first?.coordinate)!
person faez.ham    schedule 08.12.2017
comment
Почему вы сначала использовали ?, а затем !? Почему не напрямую locations.first!.coordinate? или locations[0].coordinate? - person Sulthan; 08.12.2017
comment
@Sulthan К сожалению, компилятор предлагает этот синтаксис в случае доступа к необязательному свойству выражения с необязательной цепочкой. И многие люди не рассматривают предложения компилятора ???? - person vadian; 08.12.2017

Пожалуйста, проведите небольшое исследование перед публикацией.

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    let coordinate = locations.first?.coordinate
}

Документация по CLLocation

Менеджер местоположений дает вам массив местоположений, просто выберите первое, а затем получите доступ к свойству координат.

person Scriptable    schedule 08.12.2017

Другой путь:

let lastLocation = locations.flatMap({ $0.coordinate }).last

person orxelm    schedule 08.12.2017