Swift3 [弱自我]和弱var weakSelf=自我之间的区别?

Swift3 [弱自我]和弱var weakSelf=自我之间的区别?,swift3,closures,cyclic-reference,Swift3,Closures,Cyclic Reference,我在swift3经历了关闭。我在结尾处读到,为了避免循环引用,我们声明了捕获列表,比如[弱自我] 在objective-C中,我们曾声明对自身的弱引用,并在以下区块中使用该弱引用: weak SomeClass *obj = self 我想知道这两种方法之间是否有任何区别,或者这只是swift中一种新的声明方式 我可以在swift3中声明弱引用,如下所示: weak var weakSelf = self 并在我的闭包中使用weakSelf?[weak self]在闭包范围中声明它,弱var

我在swift3经历了关闭。我在结尾处读到,为了避免循环引用,我们声明了捕获列表,比如[弱自我]

在objective-C中,我们曾声明对自身的弱引用,并在以下区块中使用该弱引用:

weak SomeClass *obj = self
我想知道这两种方法之间是否有任何区别,或者这只是swift中一种新的声明方式

我可以在swift3中声明弱引用,如下所示:

weak var weakSelf = self

并在我的闭包中使用weakSelf?

[weak self]
在闭包范围中声明它,
弱var weakSelf
在父范围中声明它。这就是主要的区别。这两种方法在内存管理方面有什么区别吗?