ARC机制(编译器特性)基本原理:
ARC判断准则:只要没有强指针指向对象,就会释放对象
指针分两种:
1:强指针: __strong(两个下划线)
默认情况下,所有的指针都是强指针
2:弱指针:__weak(两个下划线)
ARC特点:
1:不允许调用release retain retaincount
2:允许重写dealloc,但不允许调用[super dealloc]
3:property参数:
strong相当于原来的retain(适用于oc对象类型)
weak:相当于原来的assign(适用于oc对象类型)
assign:适用于非oc对象类型
4:以前的retain改用strong,其他一切不变
当两端循环引用的时候解决方案:
ARC
一端用strong另一段用weak
非ARC
一端用strong另一端用assign