手动和自动引用计数小结

自动引用计数:(arc)自动去释放掉你声明的,但是你用完了的对象内存。

手动引用计数:(mrc)需要手动去释放掉,你自己声明的对象。

 现在的xcode是自动引用计数,但是你可以调用配件,将你的整个工程,或其中的某个.m变成手动引用计数。

将整个工程变成手动引用计数的步骤为:

1

2

3

4

将某个.m文件变成手动引用计数的步骤为:

在你所需要把自动引用计数变为手动引用计数的.m文件后面的  compiler flags中 写入-fno-objc-arc就可以了,写入-fobjc-arc则是自动引用计数。

[ 对象名  retain]   引用计数加 1

[[对象名    alloc] init] 创建并初始化,引用计数加1

[对象名    release]    引用计数减1

[对象名   autorelease]   对象会延迟一会,再将对象引用计数减1.可多次调用,延迟时间会坚持一个事件循环。

 在哪一个方法或类中,创建对象,或者retain了,那就最好在这个方法中进行释放。

 

—(void)dealloc(){ }

这个函数会在对象的内存空间销毁前自动调用,即销毁前要做的事。不能手动调用这个函数。

  如果一个类使用手动引用计数,并实现了dealloc方法,就必须在dealloc中调用父类的dealloc方法。即[super dealloc]

 

原文地址:https://www.cnblogs.com/lucan727/p/3864162.html