美文网首页
闭包捕获值

闭包捕获值

作者: 一个栗 | 来源:发表于2021-09-06 09:23 被阅读0次

    捕获值

    • 一个闭包能够从上下文捕获已被定义的常量和变量。即使定义这些常量和变量的原作用域已经不存在,闭包仍能够在其函数体内引用和修改这些值
    • 作为一种优化,如果一个值没有改变或者在闭包的外面,Swift 可能会使用这个值的拷贝而不是捕获。
    • Swift 也处理了变量的内存管理操作,当变量不再需要时会被释放。
    • 如果你建立了第二个 incremented,它将会有一个新的、独立的 runningTotal 变量的引用。

    闭包是引用类型

    • 在 Swift 中,函数和闭包都是引用类型。
    • 无论你什么时候赋值给一个函数或者闭包给常量或者变量,你实际上都是将常量和变量设置为对函数和闭包的引用。
    • 如果你分配了一个闭包给类实例的属性,并且闭包通过引用改实例或者它的成员来捕获实例,你将在闭包和实例之间产生循环引用。

    相关文章

      网友评论

          本文标题:闭包捕获值

          本文链接:https://www.haomeiwen.com/subject/yyribltx.html