iOS Swift - CLGeocoder-VervollständigungHandler-Block

Ich versuche, eine Position (CLLocation) in eine Zeichenfolge zu analysieren.

    func locationToString (currentLocation: CLLocation) -> String? {
    var whatToReturn: String?
    CLGeocoder().reverseGeocodeLocation(currentLocation, completionHandler: { (placemarks: [AnyObject]!, error: NSError!) in
        if error == nil && placemarks.count > 0 {
            let location = placemarks[0] as CLPlacemark
            whatToReturn = "\(location.locality) \(location.thoroughfare) \(location.subThoroughfare)"

        }
    })
    return whatToReturn
}

ffensichtlich gibt whatToReturn immer null zurück, da completionHandler im Hintergrund ausgeführt wird. Es fällt mir schwer zu verstehen, wie ich meinen String aktualisiere, wenn der completionHandler abgeschlossen ist.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage