0

我正在从指向 plist 的 URL 创建一个 NSArray

NSLog(@"_url rc:[%d]",[_url retainCount]); //prints "_url rc:[1]"
content = [NSArray arrayWithContentsOfURL:_url];
NSLog(@"_url rc:[%d]",[_url retainCount]); //prints "_url rc:[10]"

我完全不知道为什么会发生这种情况。如果您需要更多信息,请告诉我。

4

1 回答 1

2

不要调用 -retainCount。

一个对象的绝对保留计数是没有用的,除非您的代码是唯一接触过该对象的东西。一旦您通过系统 API 传递对象,绝对保留计数就不再是您可以控制的。

正如chrissr所暗示的,对象的保留计数应完全视为增量。如果你让它增加,你应该让它减少。如果你保留,你必须释放。如果你复制,你必须释放。ETC...

于 2010-07-02T20:49:40.447 回答