Главная проблема здесь - просто отсутствующая закрывающая скобка, которая объясняет, почему ОП получил много ошибок. Кстати, присвоение имени CLLocationCoordinate2D вводит в заблуждение, и вы также забыли упомянуть, что при вызове асинхронного метода OP необходимо вернуться к основному потоку для обновления пользовательского интерфейса.
ел несколько вопросов по SO, но все они устарели в Swift 2. Я получил эту функцию с веб-сайта Apple для преобразования названия города в широту и долготу, но я не уверен, что функция возвратит (так как после оператора return ничего нет ) и что я должен пройти. Кто-нибудь объяснит мне это или покажет мне, как им пользоваться, пожалуйста.
func getCoordinate( addressString : String,
completionHandler: @escaping(CLLocationCoordinate2D, NSError?) -> Void ) {
let geocoder = CLGeocoder()
geocoder.geocodeAddressString(addressString) { (placemarks, error) in
if error == nil {
if let placemark = placemarks?[0] {
let location = placemark.location!
completionHandler(location.coordinate, nil)
return
}
}
completionHandler(kCLLocationCoordinate2DInvalid, error as NSError?)
}
}