2010-03-01 50 views
1

这是我的理解是:这是可可参考计数的正确总结吗?

对象是只有保留(参考计数器递增):

  1. 当从NSObjectinit被调用。
  2. retain被调用。

对象是释放(参考计数器递减):

  1. release被调用。
  2. 当包含对象的自动释放池排出

,并澄清,自动释放不保留,只是会在对象进入自动释放池堆栈顶部的最池。

回答

3

init不保留,并有你没有提到它做的各种方法。 Memory Management Programming Guide for Cocoa有一个简单的(也是正确的)总结。

(有两个例外,我所知道的:在NSPropertyListSerialization方法,它通过提供一个参考保留错误字符串)

+1

的NSPropertyListSerialization文档明确地告诉你,有问题的方法打破规则了。 – Chuck 2010-03-01 20:57:28

+1

另一个很好的总结是在可可核心竞争力:http://developer.apple.com/mac/library/documentation/General/Conceptual/DevPedia-CocoaCore/MemoryManagement.html – 2010-03-01 21:41:27

+1

正如彼得自己的http://boredzo.org/ cocoa-intro/ – 2010-03-01 22:46:03