J.A*_*rji 3 grand-central-dispatch swift swift2
我熟悉在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)
}
Run Code Online (Sandbox Code Playgroud)
然后使用像:
background {
// I'm in the background
main {
// I'm back on Main
}
}
Run Code Online (Sandbox Code Playgroud)
例如:
background { [weak self] in
let result = longOperationToFetchData()
main {
self?.data = result.data
self?.reloadTableView()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
989 次 |
| 最近记录: |