Objective-C之ARC

本文详细介绍了Objective-C中的自动引用计数(ARC),包括ARC的工作原理、强指针与弱指针的区别,以及在内存管理中的应用。在ARC环境下,对象的引用计数为0时将自动释放,避免了手动管理内存的繁琐。同时讨论了ARC下@property参数的strong和weak属性使用建议,以及避免内存泄露的方法。
摘要由CSDN通过智能技术生成

一.ARC:自动引用计数,即ARC。系统自动帮助我们去计算对象的引用计数器的值。


在程序中使用ARC非常简单,只需要像往常那样编写代码,只不过永远不要写retain、release、autorelease 

允许重写dealloc,但是不允许调用[super dealloc];


特别注意的是ARC是编译器机制,当ARC开启时,编译器会自动的在合适的地方插入retain、release、autorelase代码,自动为对象做引用计数。


 

二.ARC判断标准:

本质: 对象的引用计数器为0的时候,自动释放。
表象: 只要没有"强指针"指向这个对象,这个对象就会立即回收。

就算此时仍有 "弱指针" 指向该对象或者该对象还指向其他对象,只 要没有强指针指向它就会释放对象。

系统还会根据弱指针的情况及时释放弱指针对象,避免野指针的产生。


指针分为两种:

1.强指针:

强指针:默认情况下,声明一个指针,这个指针就是一个强指针。

我们也可以使用 _Strong 来显示声明这个是个强指针。

Person *p1;//这是个强指针,指针默认情况下都是个强指针
_strong person *p2 //这也是个强指针,使用_Strong来显示的声明强指针.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值