一、block 强引用 解决
- 1.在block里面不用使用self,解决方案:推荐 __weak typeof(self) weakSelf = self(弱引用);
- 2.强引用bug
- 如果你发现你的控制器pop后任然不会销毁,可能是你在block中使用了self从而强引用了控制器。
- 3.但不是所有的block里面就需要处理里面的变量,因为有的block声明周期就很短,执行完后就不存在了就不用处理,如UIView的动画。
- 4.为了方便以后使用我们可以将 __weak typeof(self) weakSelf = self语句抽取为宏
// 宏抽取
define JPWeakSelf __weak typeof(self) weakSelf = self; // (弱引用)
###二、 block 使用注意点:
+ 存在强引用问题,解决方案:同上
![Snip20150906_22.png](http://upload-images.jianshu.io/upload_images/831339-273c4acc036765f6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![Snip20150906_23.png](http://upload-images.jianshu.io/upload_images/831339-a09ae38aaeeab0ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)