Главная проблема здесь - просто отсутствующая закрывающая скобка, которая объясняет, почему ОП получил много ошибок. Кстати, присвоение имени 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?)
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос