0

我用从互联网上获得的可变数据初始化我的 NSXMLParser。我想知道解析器是在释放时释放它还是在解析后必须释放它?

谢谢

4

2 回答 2

2

Cocoa 使用“这不是我的问题”来比喻内存管理。

如果您将某些内容传递给另一个对象,则该对象有责任保留它。

如果某些东西被传递给你的一个对象,你需要保留它,否则它可能会消失。

通常传递对象,如:

    [otherObject doSomethingWith:[myThing autorelease]];

或者

    [otherObject doSomethingWith:myThing];
    [myThing release];

Cocoa 框架就是按照这个原则工作的,你应该以同样的方式设计你的类。

于 2010-01-12T19:16:10.590 回答
1

如果您保留了它,并且不再使用它,请释放它。NSXMLParser 很可能会保留数据本身并在完成后释放它。

于 2010-01-12T11:07:31.303 回答