0
我無法更改封閉內部的UILabel的內容。我GOOGLE了,但解決方案無處可尋。如何更改封閉內部的UILabel的內容
下面是相關物件的我的代碼:
class ViewController: UIViewController {
@IBOutlet var city: UITextField!
@IBOutlet var message: UILabel!
@IBAction func buttonPressed(sender: AnyObject) {
var urlString = "http://google.com"
var url = NSURL(string: urlString)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!) {(data, response, error) in
self.message.text = "try"
println("done")
}
task.resume()
}
... //rest of the code
應該改變與「嘗試」當我點擊按鈕的UILabel消息的內容。它在控制檯中打印出「完成」,但不會更改UILabel的內容。
我改變了你提出的方式,它工作。之後,我在dispatch_async方法之後添加了self.message.text =「try」,現在它也可以工作。當我刪除dispatch_async方法時,它不起作用。 –
這是解決此問題的合法方法,或者這只是一種解決方法?我的問題的主要原因是什麼? –
這是解決問題的方法。它不是一種解決方法。您必須在主線程上執行UI更新。 – rakeshbs