一、 ARC的基本原理:
1>ARC的判断准则:只有没有强指针指向对象,就会释放对象。
2>指针分为2种:
1. 强指针:默认情况下,所有的指针都是强指针 (__strong)
2. 弱指针:当弱指针指向的对象不存在了,自动清空弱指针(__week)
二、 ARC的特点
1>不允许调用retain、release(autorelease)、retainCount
2>允许重写dealloc方法,但是不允许调用[super dealloc]
3>@property的参数
1. strong:成员变量是强指针(适用于OC对象类型)
2. week:成员变量是弱指针(适用于OC对象类型)
3. assign:适用于非OC对象类型
4>以前@property参数中的retain改为使用strong
三、 解决循环引用的问题
1>在ARC环境下
一端用strong,另一端用week
2>在非ARC环境下
一端用retain,另一端用assign |
|