最近项目需要对所有的控制器的销毁情况进行检查,其中遇到最多的就是block引起的,除了网上说的常用的那些,还有一个比较隐性的地方,我也是偶然发现的。
一、 就是把block的回调定义成全局的,系统就会发出block代码块里面哪里引起了循环引用的警告,真的很神奇。
二、 就是把block里面的定义的全局变量换成属性声明的方式,然后用弱引用的方式,就可以解决了。
当时被坑了好久,网上搜的很多说的都是一样,当然在ARC下大多视图销毁不了的原因就是block的循环引用问题,所以,不了解block的话一定慎用!!