黑马程序员技术交流社区
标题:
ARC的问题
[打印本页]
作者:
程序猿-2014
时间:
2014-4-22 00:52
标题:
ARC的问题
OC中arc的作用是什么? 仅仅是取代了 release和retain么?个人感觉好像没那么简单,ARC和手动管理内存有什么本质的区别么?求大神解惑!
作者:
.Drenched
时间:
2014-4-22 05:23
ARC是一个编译器特征,它提供了对OC对象自动管理内存。ARC让开发者专注于感兴趣的代码和对象的关系,而不用考虑对象的retain和release。
ARC在编译时期添加代码,保证对象可用。概念上说,ARC遵循手动引用计数的规则,替开发者,在编译时期添加合适的代码。
Xcode4.2(Mac OS 10.6、10.7和iOS4和iOS5)支持ARC,弱引用在10.6和iOS4上不支持。
作者:
董月峰
时间:
2014-4-22 06:10
1.ARC是编译器特性【在编译代码的时候,编译器会自动检测】
2.ARC的判断准则:只要没有强指针指向对象,就会释放对象
3.ARC特点总结:
1》不允许调用release,retain,retainCount
2》允许重写dealloc,但是不允许调用[super dealloc]
3》@property的参数
*strong : 成员变量是强指针(适用于OC对象类型)
*weak : 成员变量是弱指针 (适用于OC对象类型)
*assign : 适用于非OC对象类型
4> 以前的retain改成strong,其它一切不变
作者:
gmadong@163.com
时间:
2014-4-23 21:43
ARC和MRC区别就是一个是自动加release,retain的一个是手动的加release,retain
在内存管理上没有本质区别 ARC就是编译器帮你加了release,retain而MRC是自己手动加的
作者:
gaoxinglei123
时间:
2014-4-24 19:34
ARC就是自动管理内存。把release和retain操作封装起来。方便开发。本质上应该没有什么区别。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2