我们来仔细总结一下关于ARC的原理特性及使用
一、 基本简介
ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。大大的简化了开发的复杂度并且也提高了开发效率
二、 基本原理
1. 规则
ARC 的规则:只要还有一个强指针变量指向对象,对象就会保持在内存中
2. 强指针和弱指针
默认所有实例变量和局部变量都是强指针
弱指针指向的对象被回收后,弱指针会自动变为nil指针,不会引发野指针错误
三、 使用注意
不能调用release、retain、autorelease、retainCount
可以重写dealloc,但是不能调用[super dealloc]
property : 想长期拥有某个对象,应该用strong,其他对象用weak
其他基本数据类型依然用assign
两端互相引用时,一端用strong、一端用weak