一、a强引用b,b强引用a,b是a的全局变量(这个时候会形成循环引用)作用域
二、a强引用b,b强引用a,b是a的局部变量(这个时候是不会形成循环引用的)class
三、a强引用b,b中的block是一个方法参数,b是a的全局变量(这个时候不会形成循环引用)变量
四、a强引用b,b中的block是一个属性,b是a的全局变量(这个时候会形成循环引用)循环
PS:三、4是在一、2的状况下添加了一个block,是一、2的细分,因此若是是2的状况那么不会形成循环引用问题,咱们考虑在1的状况下。引用
分析:方法
2状况不会形成循环引用,是由于b是a的局部变量,b在离开做用域后就被释放了,不是在a的delloc方法中释放的,因此不会形成循环引用di
3状况不会形成循环引用,是由于block是b的一个参数变量,在离开做用域后block就被释放了,对a的引用也就消失了block