泄漏在哪里?

时间:2010-06-29 06:18:23

标签: iphone nsxmlparser

我一直在使用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 个答案:

答案 0 :(得分:1)

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