【问题标题】:How can you capture multiple arguments weakly in a Swift closure?如何在 Swift 闭包中弱捕获多个参数?
【发布时间】:2015-03-16 21:55:17
【问题描述】:

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

{ [weak arg]
    arg.doSomething()
}

我怎样才能对我希望弱捕获的两个对象执行此操作?

【问题讨论】:

    标签: swift closures weak-references


    【解决方案1】:

    来自“Swift 编程语言”中的Expressions(重点添加):

    闭包表达式
    ...
    闭包表达式可以显式指定它的值 使用捕获列表从周围范围捕获。一次捕获 列表写成 逗号分隔列表 被正方形包围 括号,在参数列表之前。如果您使用捕获列表, 您还必须使用 in 关键字,即使您省略了参数 名称、参数类型和返回类型。

    例子:

    {
        [weak arg1, weak arg2] in 
        // ...
    }
    

    【讨论】:

    • 总是救援马丁 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 2021-01-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多