Block什么时候会导致循环引用

1 、循环引用就是当self 拥有一个block的时候,在block 又调用self的方法。形成你中有我,我中有你,谁都无法将谁释放的困局。

Block什么时候会导致循环引用_第1张图片

举个栗子:

页面1声明了一个block,然后在页面中给blcok赋值,然后又在赋值里面调用了self

self.myBlock = ^{ 

     [selfdoSomething]; 

 };


2、在页面2中声明了block,在页面1中声明了页面2

然后又在页面1中实例化页面2时赋值了页面2的block,在赋值中又调用了页面1的block

Block什么时候会导致循环引用_第2张图片

如果就会导致下图的状态

Block什么时候会导致循环引用_第3张图片

你可能感兴趣的:(Block什么时候会导致循环引用)