我用从互联网上获得的可变数据初始化我的 NSXMLParser。我想知道解析器是在释放时释放它还是在解析后必须释放它?
谢谢
我用从互联网上获得的可变数据初始化我的 NSXMLParser。我想知道解析器是在释放时释放它还是在解析后必须释放它?
谢谢
Cocoa 使用“这不是我的问题”来比喻内存管理。
如果您将某些内容传递给另一个对象,则该对象有责任保留它。
如果某些东西被传递给你的一个对象,你需要保留它,否则它可能会消失。
通常传递对象,如:
[otherObject doSomethingWith:[myThing autorelease]];
或者
[otherObject doSomethingWith:myThing];
[myThing release];
Cocoa 框架就是按照这个原则工作的,你应该以同样的方式设计你的类。
如果您保留了它,并且不再使用它,请释放它。NSXMLParser 很可能会保留数据本身并在完成后释放它。