Метка iOS не обновляет текст с помощью функции в Swift [дубликат]
На этот вопрос уже есть ответ здесь:
обновить текстовое поле пользовательского интерфейса в быстрой IOS 2 ответаЭта, казалось бы, простая проблема сводит меня с ума ... Я играю с SwiftyJSON, чтобы получить удаленные данные, и вот фрагмент из моего класса ViewController в 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
}
}
Текст statusLabel имеет значение «welcome», но впоследствии не изменяется. Забавно, все, что я положилfunc getMostRecentStatusUpdate(_:)
сprintln()
правильно выводится на консоль, даже если она поступает из удаленного источника json (т.е. я знаю, что эта функция работает). Моя проблема в том, что я не могу распечатать текст на UILabel вместо консоли. Я не получаю никаких сообщений об ошибках.
Я еще не очень знаком с такой функцией Swift, какMyClass.myMethod { (myData) -> Void in .... }
и я не понимаю, что здесь происходит. Есть идеи?