泄漏在哪里?

问题描述:

我一直在使用RSS阅读器代码示例,但在解析器中发现泄漏。泄漏在哪里?

这里的代码...

-(BOOL)fetchAndParseRss{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 

    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 

    //To suppress the leak in NSXMLParser 
    [[NSURLCache sharedURLCache] setMemoryCapacity:0]; 
    [[NSURLCache sharedURLCache] setDiskCapacity:0]; 

    NSURL *url = [NSURL URLWithString:@"http://www.bnp.org.uk/?q=rss.xml"]; 
    BOOL success = NO; 
    NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url]; 
    [parser setDelegate:self]; 
    [parser setShouldProcessNamespaces:YES]; 
    [parser setShouldReportNamespacePrefixes:YES]; 
    [parser setShouldResolveExternalEntities:NO]; 
    success = [parser parse]; 
    [parser release]; 
    [pool drain]; 
    return success; 
} 

你能帮忙吗?

+1

它在女孩的手里,在旋转。 – 2010-06-29 06:20:57

NSXMLParser有漏洞,是Apple的一个漏洞。错误#6469143。我不认为他们已经在iOS4中解决了。 (至少不在模拟器中) 请看这个:NSXMLParser Leaking

+0

谢谢你。尽管NSXMLParser没有问题,但Dev Center中的XML性能测试应用程序仍然可以正常工作。 任何方式,我已经找到了一个伟大的现成的RSS解析器从一个伟大的人名为迈克尔瀑布在http://github.com/mwaterfall/MWFeedParser它的工作直接开箱即用。非常感谢迈克尔。 – Stuart 2010-07-01 05:44:54