天天看点

ARC 中 Strong,WeakARC 中 Strong,Weak

ARC 中 Strong,Weak

我通过自己的理解,在比较浅显的层次把这个问题记录一下。如有错误请指出。

一、基本概念

MRC: Manully Reference Counting, 手动引用计数,通过 retain,release,autorelease手动增加计数或减少计数,直到为0时释放对象。
ARC: Automatic Reference Counting,自动引用计数。则交给编译器来做。
ARC 与 GC 的区别:ARC是编译器提供的机制,而不是GC这种运行时提供的机制。个人感觉,ARC 比起 GC 更加先进。

二、Strong 、Weak

*Strong:只要有强类型指向该对象,那么该对象就会”一直“存在下去。创建对象时默认是Strong类型。
 *Weak:当没有强引用指向该对象时,弱引用会设置为nil。在OC中给nil对象传递信息,是不会崩溃的。