收到响应后,Alamofire、SwiftyJSON更新UI
您好,我正在编写代码,使用Alamofire与服务器api对话,然后使用swiftyJSON解析JSON响应。在得到所有结果后,我想相应地更新到UI,但似乎不能 这是我的Alamofire请求,它具有快速JSON解析(在Pokemon.class中) 我的下载在康斯坦斯特·斯威夫特完成收到响应后,Alamofire、SwiftyJSON更新UI,swift,alamofire,swifty-json,Swift,Alamofire,Swifty Json,您好,我正在编写代码,使用Alamofire与服务器api对话,然后使用swiftyJSON解析JSON响应。在得到所有结果后,我想相应地更新到UI,但似乎不能 这是我的Alamofire请求,它具有快速JSON解析(在Pokemon.class中) 我的下载在康斯坦斯特·斯威夫特完成 typealias DownloadComplete = () -> () 注意:我可以打印所有值(有效),因此响应正常 但问题是,当我在ViewController中调用函数时。用户界面没有更新 下面是
typealias DownloadComplete = () -> ()
注意:我可以打印所有值(有效),因此响应正常
但问题是,当我在ViewController中调用函数时。用户界面没有更新
下面是如何在viewController中调用该函数
pokemon.downloadPokemonDetails1 {
print(self.pokemon.type)
self.updateUI()
}
updateUI()函数:
从服务器接收数据后是否仍要更新UI?任何帮助都是非常感谢的。谢谢您是否使用
主线程
执行updateUI()
方法?您好,如何检查主线程是否执行updateUI()?我在viewDidLoad()函数下输入,您只需将该方法封装在dispatch\u async(dispatch\u get\u main\u queue()){}
中,即可显式运行该方法。有关更多信息,请参阅。顺便说一下,更新UI总是需要主线程
。Hi事件封闭UI也不会更新。我的电话有点问题。我尝试在viewController上打印,但什么也没发生。只能在fuc(pokemon.class)内部打印hi just Figueout。我需要在alamofire请求结束时调用completed()来执行main thread
是否使用updateUI()
方法?您好,如何检查main thread execture updateUI()是否正确?我在viewDidLoad()函数下输入,您只需将该方法封装在dispatch\u async(dispatch\u get\u main\u queue()){}
中,即可显式运行该方法。有关更多信息,请参阅。顺便说一下,更新UI总是需要主线程
。Hi事件封闭UI也不会更新。我的电话有点问题。我尝试在viewController上打印,但什么也没发生。只能在fuc(pokemon.class)内部打印hi just Figueout。我需要在alamofire请求结束时调用completed()以
pokemon.downloadPokemonDetails1 {
print(self.pokemon.type)
self.updateUI()
}
func updateUI() {
nameLbl.text = pokemon.name
typeLbl.text = pokemon.type
heightLbl.text = pokemon.height
}