在ConnectionDidFinishLoading中的Xml Parser中的内存泄漏

时间:2010-08-12 06:31:19

标签: iphone

当我用仪器运行我的应用程序时,我在以下代码段中出现内存泄漏..

-(void)connectionDidFinishLoading:conn{
//[self.conn release];
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:myData];
[xmlParser setDelegate:self];
[xmlParser parse];
[xmlParser release];

}

但我无法确切知道泄漏发生的地方.. 任何建议

1 个答案:

答案 0 :(得分:0)

启动解析器后释放myData(仅当它不是自动释放对象时):

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:myData];
[myData release];

此外,您正在分配NSXMLParser对象。你可以自动发布它:

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:myData];

但是在完成使用之前,这可能会释放解析器对象。

因此,您可能希望在解析完成后手动释放它,在这种情况下,您可能必须在.h文件中声明它。