更新标签需要太长时间(快速)

sel*_*lez 8 xcode ios swift

我是初学者的快速开发者.我很喜欢这个天气应用程序.我正在下载网站数据,然后在我的标签中显示.

不幸的是,整个过程需要10秒才能更新我的标签.

这可能不是因为网络连接,因为控制台立即更新.

谢谢你的建议.

在此输入图像描述

Mih*_*atu 12

会发生什么是代码可能在辅助线程上运行.您所做的任何UI更改都应在主线程上进行.试试这个:

dispatch_async(dispatch_get_main_queue()) {
    // update label
}
Run Code Online (Sandbox Code Playgroud)

这应该立即更新您的标签.


Vic*_*ler 6

以前,我们会选择调度方法(sync vs async),然后选择我们要将任务调度到的队列.更新的GCD反转此顺序 - 我们首先选择队列,然后应用调度方法.

斯威夫特3:

现在在Swift 3中,GCD库的更新方式如下:

DispatchQueue.main.async(execute: {
    // UI Updates
})
Run Code Online (Sandbox Code Playgroud)

我希望这对你有帮助.