1 、循环引用就是当self 拥有一个block的时候,在block 又调用self的方法。形成你中有我,我中有你,谁都无法将谁释放的困局。
举个栗子:
页面1声明了一个block,然后在页面中给blcok赋值,然后又在赋值里面调用了self
self.myBlock = ^{
[selfdoSomething];
};
2、在页面2中声明了block,在页面1中声明了页面2
然后又在页面1中实例化页面2时赋值了页面2的block,在赋值中又调用了页面1的block
如果就会导致下图的状态
1 、循环引用就是当self 拥有一个block的时候,在block 又调用self的方法。形成你中有我,我中有你,谁都无法将谁释放的困局。
举个栗子:
页面1声明了一个block,然后在页面中给blcok赋值,然后又在赋值里面调用了self
self.myBlock = ^{
[selfdoSomething];
};
2、在页面2中声明了block,在页面1中声明了页面2
然后又在页面1中实例化页面2时赋值了页面2的block,在赋值中又调用了页面1的block
如果就会导致下图的状态