1

以下是我对它的理解:

保留对象(引用计数器递增):

  1. 何时调用initfrom 。NSObject
  2. 什么时候retain调用。

释放对象(引用计数器递减):

  1. 什么时候release调用。
  2. 当包含对象的自动释放池被耗尽时

澄清一下,自动释放不会保留,而只是将对象放入自动释放池堆栈的最顶层池中。

4

1 回答 1

3

不。

init不保留,并且有多种方法您没有提到哪些方法。Cocoa 的内存管理编程指南中有一个简单(也是正确)的总结。

(我知道有两个例外:NSPropertyListSerialization通过引用提供保留错误字符串的方法。)

于 2010-03-01T20:49:59.153 回答