我熟悉在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() } }