以下是我对它的理解:
仅保留对象(引用计数器递增):
- 何时调用
init
from 。NSObject
- 什么时候
retain
调用。
仅释放对象(引用计数器递减):
- 什么时候
release
调用。 - 当包含对象的自动释放池被耗尽时
澄清一下,自动释放不会保留,而只是将对象放入自动释放池堆栈的最顶层池中。
以下是我对它的理解:
仅保留对象(引用计数器递增):
init
from 。NSObject
retain
调用。仅释放对象(引用计数器递减):
release
调用。澄清一下,自动释放不会保留,而只是将对象放入自动释放池堆栈的最顶层池中。
不。
init
不保留,并且有多种方法您没有提到哪些方法。Cocoa 的内存管理编程指南中有一个简单(也是正确)的总结。
(我知道有两个例外:NSPropertyListSerialization
通过引用提供保留错误字符串的方法。)