A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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];//创建就被销毁

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马