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()

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta