如何在Swift闭包中弱捕获多个参数?

ban*_*edo 23 closures weak-references swift

有没有办法在快速关闭中弱捕获多个参数?我知道这是弱写一个参数的语法:

{ [weak arg]
    arg.doSomething()
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能为两个我想弱捕获的物体做这个?

Mar*_*n R 64

从"快速编程语言"中的表达式(重点补充):

闭包表达式
...
闭包表达式可以使用捕获列表显式指定从周围作用域捕获的值.捕获列表在参数列表之前写为逗号分隔列表,用方括号括起来.如果使用捕获列表,则还必须使用in关键字,即使省略参数名称,参数类型和返回类型也是如此.

例:

{
    [weak arg1, weak arg2] in 
    // ...
}
Run Code Online (Sandbox Code Playgroud)

  • 总是拯救马丁:) (2认同)