Objective-C 内存管理方式 二
来源:互联网 发布:淘宝宝贝展现量如何刷 编辑:程序博客网 时间:2024/05/22 01:59
ARC (Automatic Reference Counting) 自动引用计数
使用ARC,编译器会自动添加retain、release、对引用计数做加减。
ARC黄金法则:
1、如果没有一个指针指向对象,那么此对象从内存中销毁
2、只要还有一个指针指向对象,那么对象就保存在内存中
ARC也存在内存泄露!!!!!
ARC中的重写dealloc方法:
- (void) dealloc {
//[super dealloc]; ARC中不用调用
_dog = nil;//相当于MRR中的[_dog release];
}
ARC与MRR的区别:
1、ARC中,dealloc方法中不允许调用[super dealloc];
2、ARC中,不允许使用retaincount属性,打印引用计数;
3、ARC中,不允许使用retain、release、autorelease,copy可以使用;
4、ARC中,不能使用NSAutoreleasePool,需要使用@autoreleasepool{}
5、ARC不再允许结构体和枚举中声明OC的对象作为成员变量;
6、ARC在switch-case语句中定义指针变量,需要添加其作用域。
ARC、非ARC的使用标记:
project settings---> Build Phase
-fno - objc - arc 标记源代码文件使用MRR
-fobjc - arc 标记文件使用ARC(默认不写)
0 0
- Objective-C 内存管理方式 二
- Objective-c 内存管理方式
- Objective-c的内存管理方式
- objective-c感悟(二)内存管理
- objective-c内存管理
- Objective-c 内存管理
- Objective-C内存管理~~
- Objective-C内存管理
- Objective-C 内存管理
- Objective-C 内存管理
- Objective-C 内存管理
- Objective-C内存管理
- objective-c 内存管理
- objective-c 内存管理
- Objective-C 内存管理
- Objective-C内存管理
- Objective-C 内存管理
- objective-c内存管理
- HDU 5365 LCP Array (数学 逻辑 对我来说非常困难)
- Project Euler Problem 81-90
- hdfs脚本介绍
- deleteDir函数的实现,递归删除指定的目录下的文件
- thrift (转)
- Objective-C 内存管理方式 二
- hdu1180 诡异的楼梯(优先队列bfs)
- 时间片轮转多道程序运行原理
- 希尔排序
- 欢迎使用CSDN-markdown编辑器
- js技术两日期相差天数
- 第一周的Android学习笔记
- Android中design包中的新控件1
- Mac 10.10 yosemite 安装samba替代系统samba组件