iOS 容易造成循环引用的三种场景

循环引用的简单理解:

A引用B,B又引用A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。

一:Block

1.ARC环境下: 使用__weak声明一个代替self的新变量代替原先的self;

2.MRC环境下:使用__block .

二:代理

ARC环境下:声明代理时使用弱引用weak;

MRC环境下:声明代理时使用assign.

三:NSTimer

 

posted on 2015-12-21 09:51  请叫我上帝  阅读(153)  评论(0编辑  收藏  举报

导航