El texto de UILabel actualizado dentro de un cierre Swift se niega a mostrar
Mientras estoy aprendiendo Swift, estoy codificando una aplicación iOS de práctica simple para extraer información del clima de una ciudad determinada de un sitio y mostrarla en un UILabel.
El código utiliza un cierre "NSURLSession.sharedSession (). DataTaskWithURL". Aunque puedo obtener los datos correctamente y capturar el texto relevante en el "UILabel.text", no puedo hacer que la aplicación real muestre el UILabel actualizado.
¿Qué estoy haciendo mal? Aquí está el código relevante:
@IBAction func buttonPressed(sender: AnyObject) {
var urlString = "http://www.weather-forecast.com/locations/" + cityName.text.stringByReplacingOccurrencesOfString(" ", withString: "") + "/forecasts/latest"
var url = NSURL(string: urlString)
let task = NSURLSession.sharedSession().dataTaskWithURL(url) {(data, response, error) in
var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) as String
var contentArray = urlContent.componentsSeparatedByString("<span class=\"phrase\">")
var weatherInfo = contentArray[1].componentsSeparatedByString("</span>")
self.resultShow.text = weatherInfo[0] // Text does not show in the app
println(weatherInfo[0]) // This works correctly
println(self.resultShow.text) // This works correctly
}
task.resume()
}