如何使用 GCD 确保调用在 swift3 应用程序中连续完成
How to ensure calls are done serially in swift3 app using 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()
我需要这段代码 运行 按顺序:
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()