OC中内存管理(ARC)--注意点及单个对象处理

原创
2016/04/01 10:50
阅读数 61

第一:知道一个项目是ARC的还是MRC的,除了项目设置里可以看,还有一点就是:ARC是允许写一些MRC的retain与release包括autorelease的。

第二:了解两个概念,强指针与弱指针

        Person *p=[[Person alloc]init];//此处就是强指针,当然也可以显示的申明是强指针__strong

        当一个对象只有被强指针引用时,才不会被释放,即无强指针引用,就人释放。

        有强指针就有弱指针了,__weak修饰的指针,它引用的对象,会被立即释放掉,就如同刚出生的婴儿就挂了。

        所以要注意。

第三:ARC的单个对象管理相当的简单,不要想以前MRC什么引用计数器,什么retain与release的。

        只要记住一句就可以,那就是无强指针指向一个对象,那么这个对象就会被释放。

//在main中写下以下代码
{
    Person *p=[[Person alloc]init];
}//因为出了这个}那么它栈里的变量p就会释放,那么无强指针批向对象 p,那么这个对象就会被释放。

重要的事情说三次:如有错误,欢迎指出,共同进步。

展开阅读全文
打赏
1
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
1
分享
返回顶部
顶部