想象一下不使用ARC的程序,这样我们就必须进行手动引用计数。当一个对象达到由ARC完成的引用计数零(0)时自动解除分配的行为,还是由语言(编译器)本身提供,而不管ARC的使用情况如何?
答案 0 :(得分:1)
取消分配对象是-release
实施的一部分。来自documentation for that method(这是NSObject
协议的一部分,而不是类):
当引用计数达到0时,接收方将收到
dealloc
消息。
这种东西完全早于ARC,所以它显然不能依赖ARC。
答案 1 :(得分:1)
不,它是Objective C运行时的一个特性。 ARC会为您插入retain
/ release
来电(以及其他一些魔法)。