循环强引用还会发生在当你将一个闭包赋值给类实例的某个实例,并且这个闭包体中又实用了这个类实例.这个闭包体重可能访问了实例的某个属性,例如self.**,或者闭包中调用了实例的某个方法,例如self.**,这两种情况都导致闭包“捕获”self,从而产生了循环强引用. 循环强引用的产生,是因为闭包和类相似,都是引用类型.当你把闭包赋值给某个属性时,你也把一个引用赋值给了这个闭包.实质上,这跟之前的问题一样,两个强引用让彼此一直有效.但是,和两个类实例不同,这次一个是类实例,另一个是闭包. Swift…