我熟悉在 Android 中使用 AsyncTask:创建一个子类,在子类的实例上调用 execute,然后在 UI 线程或主线程上调用 onPostExecute。 swift 中的等价物是什么?
最佳答案
这解决了我在 Swift 中的大部分异步需求:
public func background(function: @escaping () -> Void) {
DispatchQueue.global().async(execute: function)
}
public func main(function: @escaping () -> Void) {
DispatchQueue.main.async(execute: function)
}
然后像这样使用:
background {
// I'm in the background
main {
// I'm back on Main
}
}
例如:
background { [weak self] in
let result = longOperationToFetchData()
main {
self?.data = result.data
self?.reloadTableView()
}
}
关于swift - 快速的大中央调度(GCD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34731442/