1、ARC判断准则:只要没有强指针指向对象,就会释放对象
2、ARC特点:
1> 不允许调用release、retain。retainCount
2> 允许重写dealloc,但是不允许调用[super dealloc]
3、@property的参数
1> strong :成员变量是强指针(适用于OC对象类型)
2> weak :成员变量是弱指针(适用于OC对象类型)
3> assign:适用于非OC对象类型
4> 以前的retain改为用strong
4、指针分两种
1> 强指针:默认情况下,所有的指针都是强指针__strong
2> 弱指针:__weak 弱指针是不决定对象被释放的,如果弱指针指向的对象没有强指针指向的话就自动清空弱指针
没有意义的写法,一创建就被销毁了
__weak Person *per = [[Person alloc] init];
5、当两端循环引用的时候,解决方案
1> ARC
一端用strong,一端用weak
2> 非ARC
一端用retain,一端用assign
6、某个.m文件不要ARC: -fno-objc-arc |