Ten pozornie prosty problem doprowadza mnie do szału ... Jestem zabawy z SwiftyJSON chwycić zdalnych danych i tutaj jest to fragment z mojej klasy ViewController w Swift:iOS etykieta nie aktualizuje tekst z funkcji w Swift
override func viewDidLoad() {
super.viewDidLoad()
self.statusLabel.text = "welcome"
RemoteDataManager.getStatusUpdateFromURL { (statusData) -> Void in
let json = JSON(data: statusData)
self.statusLabel.text = "this does not work"
self.statusLabel.text = self.getMostRecentStatusUpdate(json) // also does not work
}
}
Tekst statusLabel jest ustawiony na "witamy", ale nie zmienia się później. To zabawne, ale wszystko, co wstawię do urządzenia func getMostRecentStatusUpdate(_:)
z println()
, zostanie poprawnie wydrukowane na konsoli, nawet jeśli pochodzi ze zdalnego źródła json (tzn. Wiem, że ta funkcja działa). Mój problem polega na tym, że nie mogę wydrukować tekstu na UILabel zamiast na konsoli. Nie dostaję żadnych komunikatów o błędach.
Nie jestem jeszcze zaznajomiony z funkcją Swift, taką jak MyClass.myMethod { (myData) -> Void in .... }
i nie rozumiem, co tu jest nie tak. Jakieś pomysły?
Rozumiem ... pytanie jest rzeczywiście takie samo. Moim problemem było to, że Google nie doprowadziło mnie do odpowiedzi, większość odpowiedzi dotyczyła po prostu aktualizacji etykiety tekstowej. Ale można go usunąć, jeśli wolisz. – Pieter