黑马程序员技术交流社区

标题: 学习笔记————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