除了提交用于异步执行的块的function dispatch_async之外,iOS还提供了另一个function dispatch_async_f来提交具有单个参数的函数以进行异步执行。
在Swift中,我可以将dispatch_async称为DispatchQueue.global().async {},但找不到任何方法来调用dispatch_async_f
那么,如何将参数传递给异步执行的块?

最佳答案

dispatch_async_f()可以在没有代码块或闭包的C代码中使用。

在Swift中,您只需传递一个闭包,然后闭包调用函数:

DispatchQueue.global().async {
    let theParameter = ...
    theFunction(theParameter)
}


闭包在创建时还可以捕获值:

let theParameter = ...
DispatchQueue.global().async {
    theFunction(theParameter)
}

09-18 04:06