功能会导致保留周期吗?

时间:2017-07-10 01:39:18

标签: swift function closures retain-cycle

我知道使用闭包将始终捕获闭包内使用的属性或方法。

但是功能是否也会导致保留周期?如果确实如此,请向我解释!

如果没有,那么为什么我们甚至会使用闭包,如果我们只是在每个闭包参数中插入一个函数时会冒一个保留周期呢?

我的问题是指函数是否像闭包一样保留内存。

1 个答案:

答案 0 :(得分:0)

  

我知道使用闭包将始终捕获属性或   封闭内部使用的方法。

不,函数从函数内部使用的周围范围捕获局部变量

  

但是功能是否也会导致保留周期?如果确实如此,请解释一下   对我来说!

功能是闭包。如上所述,函数从函数内部使用的周围范围捕获局部变量。如果函数位于顶级作用域,则周围作用域中没有局部变量,因为顶级作用域的变量是全局变量。