本文主要将ARC原理和使用注意点,所以其他文章中的内容可能有删减,我只放我觉得应该放入的内容,其他内容请看原文。
首先将引用文章的地址贴出来:彻底理解内存管理(MRC、ARC)
ARC的判断原则
ARC判断一个对象是否需要释放不是通过引用计数来进行判断的,而是通过强指针来进行判断的。那么什么是强指针?
强指针
默认所有对象的指针变量都是强指针
被__strong修饰的指针
Person *p1 = [[Person alloc] init];
__strongPerson *p2 = [[Person alloc] init];
弱指针
被__weak修饰的指针
__weakPerson *p = [[Person alloc] init];
ARC如何通过强指针来判断?
只要还有一个强指针变量指向对象,对象就会保持在内存中
ARC的注意点
不允许调用对象的 release方法
不允许调用 autorelease方法
重写父类的dealloc方法时,不能再调用 [super dealloc];
网友评论