swift - 如何将参数传递给 Swift 中异步执行的 block ?

标签 swift function asynchronous parameter-passing dispatch-queue

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

最佳答案

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

在 Swift 中,你只需传递一个闭包,闭包就会调用该函数:

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

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

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

关于swift - 如何将参数传递给 Swift 中异步执行的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59610461/

相关文章:

ios - MapBox:在注释上绘制的 MGLineStyleLayer

javascript - 如何在 JavaScript 中将 DOM 元素作为参数传递?

function - Typescript 中的通用函数和推断通用键

javascript - NodeJS + MongoDB 异步结果出现较晚

python - Asyncio.gather 与 asyncio.wait

swift - 使用转义闭包时,self 属性如何引用 Instance 对象? ( swift 3)

ios - 如何将具有一定半径的圆添加到我的 MKpointAnnotation IOS Swift

python - 从 bash 将多个参数传递给 python 函数(在变量中)

c# - Xilium CefGlue 使用参数和返回值将 Javascript 异步到 native C#?

string - Swift - 如何将连字符/减号转换为+号