第一:知道一个项目是ARC的仍是MRC的,除了项目设置里能够看,还有一点就是:ARC是容许写一些MRC的retain与release包括autorelease的。指针
第二:了解两个概念,强指针与弱指针code
Person *p=[[Person alloc]init];//此处就是强指针,固然也能够显示的申明是强指针__strong
对象
当一个对象只有被强指针引用时,才不会被释放,即无强指针引用,就人释放。
it
有强指针就有弱指针了,__weak修饰的指针,它引用的对象,会被当即释放掉,就如同刚出生的婴儿就挂了。
class
因此要注意。
变量
第三:ARC的单个对象管理至关的简单,不要想之前MRC什么引用计数器,什么retain与release的。引用
只要记住一句就能够,那就是无强指针指向一个对象,那么这个对象就会被释放。项目
//在main中写下如下代码 { Person *p=[[Person alloc]init]; }//由于出了这个}那么它栈里的变量p就会释放,那么无强指针批向对象 p,那么这个对象就会被释放。
重要的事情说三次:若有错误,欢迎指出,共同进步。co