Geocodificação reversa para iOS do Google Maps

Estou tendo um problema com a geocodificação reversa do Google Maps quando se trata de definir o texto de um UILabel no endereço geocodificado reverso. O UILabel está em um uso XIB como uma janela de entrada personalizada. Eu tenho outra janela de entrada personalizada para outros dados que estão funcionando corretamente, no entanto, parece que quando tento definir o texto do rótulo no manipulador de retorno / retorno de chamada de geocódigo reverso, ele não funciona. Aqui está o código que tenho até agora e tentei o código de várias maneiras, incluindo a atribuição a variáveis e não consegui fazer nada funcionar.

let infoWindow = NSBundle.mainBundle().loadNibNamed("InfoWindowCurrent", owner: self, options: nil)[0] as! InfoWindowCurrent
let geocoder = GMSGeocoder()
let coordinate = CLLocationCoordinate2DMake(Double(self.locLatitude)!, Double(self.locLongitude)!)

var currentAddress = String()

geocoder.reverseGeocodeCoordinate(coordinate) { response , error in
    if let address = response?.firstResult() {
        let lines = address.lines! as [String]

        currentAddress = lines.joinWithSeparator("\n")
    }
}

infoWindow.labelAddressStreet.text = currentAddress

return infoWindow

Eu também tentei isso:

let infoWindow = NSBundle.mainBundle().loadNibNamed("InfoWindowCurrent", owner: self, options: nil)[0] as! InfoWindowCurrent
let geocoder = GMSGeocoder()
let coordinate = CLLocationCoordinate2DMake(Double(self.locLatitude)!, Double(self.locLongitude)!)

geocoder.reverseGeocodeCoordinate(coordinate) { response , error in
    if let address = response?.firstResult() {
        let lines = address.lines! as [String]

        infoWindow.labelAddressStreet.text = lines.joinWithSeparator("\n")
    }
}

return infoWindow

Tudo está conectado corretamente porque o seguinte código funciona:

let infoWindow = NSBundle.mainBundle().loadNibNamed("InfoWindowCurrent", owner: self, options: nil)[0] as! InfoWindowCurrent
let geocoder = GMSGeocoder()
let coordinate = CLLocationCoordinate2DMake(Double(self.locLatitude)!, Double(self.locLongitude)!)

geocoder.reverseGeocodeCoordinate(coordinate) { response , error in
    if let address = response?.firstResult() {
        let lines = address.lines! as [String]
    }
}

infoWindow.labelAddressStreet.text = "Unable to reverse geocode location!"

return infoWindow

Qualquer ajuda é definitivamente apreciada!

questionAnswers(3)

yourAnswerToTheQuestion