黑马程序员技术交流社区
标题:
学习笔记————ARC的工作原理,属性,注意事项
[打印本页]
作者:
用晦而明
时间:
2015-8-10 19:53
标题:
学习笔记————ARC的工作原理,属性,注意事项
ARC工作原理
ARC是OC编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只不过是在代码编译时为你自动在合适的位置插入release或者autorelease
不调用 retain release autorelease retainCount
可重写dealloc但是不可以调用[super dealloc]
强指针__strong
弱指针__weak
ARC对象释放判断的依据:对象没有强指针指向对象会立即释放内存空间
ARC下多对象内存管理
在ARC机制下不能使用retain应该使用strong
还可使用weak
@property(nonatomic,weak)Dog *dog;
weak指针常见用法是在两个对象间存在包含关系时:
对象1有一个strong指针指向对象2,并持有它,而对象2中只有一个weak指针指向对象1,从而避免了循环持有。
ARC使用特点以及注意事项
@property参数 strong weak assign
注意
ARC中只要弱指针指向的对象不存在,就直接把弱指针做清空(赋值nil)操作。
__weak Student *stu=[Student new];//创建就被销毁
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2