UILabel-Text, der innerhalb eines Swift-Verschlusses aktualisiert wurde, kann nicht angezeigt werden

Während ich Swift lerne, programmiere ich eine einfache iOS-Übungs-App, um Wetterinformationen für eine bestimmte Stadt von einer Site zu entfernen und in einem UILabel anzuzeigen.

Der Code verwendet die Schließung "NSURLSession.sharedSession (). DataTaskWithURL". Obwohl ich in der Lage bin, die Daten korrekt abzurufen und den relevanten Text im "UILabel.text" zu erfassen, kann ich die aktuelle App nicht dazu bringen, das aktualisierte UILabel anzuzeigen.

Was mache ich falsch? Hier ist der relevante Code:

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

}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage