我是Swift新手,試圖檢查完成的項目。但有一些我不明白。爲什麼在Swift上顯示警報時需要DispatchQueue?
網絡請求完成後,應用程序會在條件下顯示警報。
func makeNetworkRequest() {
//newtork result...
DispatchQueue.main.async {
self.showAlert(versionMessage: "Error")
}
}
func showAlert(versionMessage: String) {
let alert = UIAlertView(title: "", message: versionMessage, delegate: self)
alert.show()
}
但是,它是用DispatchQueue
完成的。在這種情況下,爲什麼需要使用DispatchQueue
。
UI代碼必須始終在主隊列上完成。 – rmaddy
和網絡(通常)是在主線外進行的。調度告訴內部代碼必須回到主線程 – GIJOW
https://www.quora.com/Why-must-the-UI-always-be-updated-on-Main-Thread – JAL