ARC小解(一)
2015-09-27 17:32
253 查看
ARC(Automatic Reference Counting),就是代码中自动加入retain和release
ARC不像是Java的垃圾回收机制(运行时释放),ARC只是一种编译特性。
在ios5开始使用ARC机制,有了ARC机制之后我们便可以专注于我们的逻辑代码,而无需再分心去使用retain、release、autorelease、dealloc等去管理内存
在XCode5之前每次创建工程都会有是否选择使用ARC机制,在XCode5之后APPLE就强制的使用ARC。
如果我们想要设定单个【.m】文件的ARC设定,我们可以是做以下设定。
ARC的释放对象判断准则:
没有强指针指向对象时,就会释放对象,那么只要有强指针指向对象,对象就不会被释放;
*指针有强弱之分:强指针(__strong关键字修饰),所有的对象默认情况下都是强指针。
弱指针(__weak关键字修饰)
使用ARC时注意的几点:
retain、release、autorelease、dealloc有编码器自动插入,不能在代码中调用
dealloc可以重载,但是我们最后不能再调用[super dealloc]
强引用:(__strong:默认)
弱引用:(__weak)弱参照有一个特征,即当参数对象失去所有者之后,变量会被自动赋值nil
ARC不像是Java的垃圾回收机制(运行时释放),ARC只是一种编译特性。
在ios5开始使用ARC机制,有了ARC机制之后我们便可以专注于我们的逻辑代码,而无需再分心去使用retain、release、autorelease、dealloc等去管理内存
在XCode5之前每次创建工程都会有是否选择使用ARC机制,在XCode5之后APPLE就强制的使用ARC。
如果我们想要设定单个【.m】文件的ARC设定,我们可以是做以下设定。
ARC的释放对象判断准则:
没有强指针指向对象时,就会释放对象,那么只要有强指针指向对象,对象就不会被释放;
*指针有强弱之分:强指针(__strong关键字修饰),所有的对象默认情况下都是强指针。
弱指针(__weak关键字修饰)
使用ARC时注意的几点:
retain、release、autorelease、dealloc有编码器自动插入,不能在代码中调用
dealloc可以重载,但是我们最后不能再调用[super dealloc]
强引用:(__strong:默认)
弱引用:(__weak)弱参照有一个特征,即当参数对象失去所有者之后,变量会被自动赋值nil
相关文章推荐
- (php)mysql数据库操作
- 索引数据删除
- 使用WinDbg —— .NET篇 (四)
- 索引数据删除
- unity3d ios 读写txt文件
- java环境变量——classpath、path、JAVA_HOME的作用
- 常用cmd
- Unity3d Shader (Cube两张材质逐渐转换
- [LeetCode][JavaScript]House Robber II
- 第二十一篇:UITableView的基本使用
- windows oracle 完全卸载
- vector用法:
- WP8.1之小小记事本编程
- 第一次“结对编程”的感想
- Tju 1003 Transportation
- 【转载,细致】New与malloc的区别
- 递归分析
- 软件测试面试题解析(二)
- 结构体的思考
- 02_栈