标签:
iOS
/*
ARC的判断准则:只要没有强指针指向对象,就会释放对象;反之就不会
指针分2种:
1> 强指针:默认情况下,所有的指针都是强指针 __strong
2> 弱指针: __weak 当弱指针所指的对象被销毁后,该弱指针会自动被清空,变为空指针
没有意义的写法,因为这样写,Person对象p刚创建就会被销毁
__weak Person *p = [[Person alloc] init]; // 这行代码后,编译器会自动加上 p = nil;
ARC特点:
1> 不允许调用release、autorelease、retain、retainCount等
2> 允许重写dealloc方法,但是不允许在重写的dealloc里面调用[super dealloc];
3> @property参数
* strong : 成员变量是强指针,相当于原来的retain(适用于OC对象类型)
* weak : 成员变量是弱指针(适用于OC对象类型)
* assign : (适用于非OC对象类型)
*** 以前的retain改为strong
当两端对象循环引用的解决方案:
ARC: 1端用strong,另1端用weak
非ARC: 1端用retain,另1端用assign
*/
Xcode的ARC功能转换(包括项目是ARC,但是某个类不是;或者相反)
视频27
标签:
原文地址:http://www.cnblogs.com/ithmPeak/p/4401401.html