什么时候发布NSXMLParser?

thi*_*ryb 1 iphone nsxmlparser

我正在使用NSXMLParser:


- (BOOL)parseXMLData:(NSData *)inData
{
 provisioningParser = [[NSXMLParser alloc] initWithData: inData]; // defined if .h
[provisioningParser setDelegate:self]; [provisioningParser setShouldProcessNamespaces:NO]; [provisioningParser setShouldReportNamespacePrefixes:NO]; [provisioningParser setShouldResolveExternalEntities:NO];

return [provisioningParser parse]; }

我的问题是我应该何时发布NSXMLParser?我相信它在解析完成后会自动释放; 这是真的?如果是,仪器表明存在泄漏.

你有好主意吗 ?

谢谢

Eri*_*lje 5

既然你分配了它,你就需要释放它.只需在调用parse后释放它:

BOOL rval = [provisioningParser parse];
[provisioningParser release];
return rval;
Run Code Online (Sandbox Code Playgroud)

此外,从代码的外观来看,您可能会将其保存在成员变量中.有没有理由这样做?如果没有,请将其设为局部变量.如果是这样,您可能希望在类的dealloc()方法中释放它,而不是在调用parse()之后.