ARC小解(一)

来源:互联网 发布:形容网络不好的说说 编辑:程序博客网 时间:2024/05/21 17:42

ARC(Automatic Reference Counting),就是代码中自动加入retain和release

ARC不像是Java的垃圾回收机制(运行时释放),ARC只是一种编译特性。

在ios5开始使用ARC机制,有了ARC机制之后我们便可以专注于我们的逻辑代码,而无需再分心去使用retain、release、autorelease、dealloc等去管理内存

在XCode5之前每次创建工程都会有是否选择使用ARC机制,在XCode5之后APPLE就强制的使用ARC。



如果我们想要设定单个【.m】文件的ARC设定,我们可以是做以下设定。



ARC的释放对象判断准则:

没有强指针指向对象时,就会释放对象,那么只要有强指针指向对象,对象就不会被释放;

*指针有强弱之分:强指针(__strong关键字修饰),所有的对象默认情况下都是强指针。

      弱指针(__weak关键字修饰)


使用ARC时注意的几点:

retain、release、autorelease、dealloc有编码器自动插入,不能在代码中调用

dealloc可以重载,但是我们最后不能再调用[super dealloc]


强引用:(__strong:默认)




弱引用:(__weak)弱参照有一个特征,即当参数对象失去所有者之后,变量会被自动赋值nil 





0 0
原创粉丝点击