我需要这个代码块按顺序运行:
UIApplication.shared.beginIgnoringInteractionEvents()
loadDataTask.resume()
UIApplication.shared.endIgnoringInteractionEvents()
它正在内部运行DispatchQueue.main.async()
(每个网络调用都是我试图暂时阻止用户输入的原因)。我仍在学习 swift 并且在 GCD 概念上有些挣扎。任何建议将不胜感激。
我需要这个代码块按顺序运行:
UIApplication.shared.beginIgnoringInteractionEvents()
loadDataTask.resume()
UIApplication.shared.endIgnoringInteractionEvents()
它正在内部运行DispatchQueue.main.async()
(每个网络调用都是我试图暂时阻止用户输入的原因)。我仍在学习 swift 并且在 GCD 概念上有些挣扎。任何建议将不胜感激。
只需将endIgnoringInteractionEvents
调用放在loadDataTask
.
UIApplication.shared.beginIgnoringInteractionEvents()
let loadDataTask = session.dataTask(with: request) { data, response, error in
...
DispatchQueue.main.async {
// do all UI and model updates here
UIApplication.shared.endIgnoringInteractionEvents()
}
}
loadDataTask.resume()