2010-06-29 77 views
0

我一直在使用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

回答

1

NSXMLParser有漏洞,是Apple的一個漏洞。錯誤#6469143。我不認爲他們已經在iOS4中解決了。 (至少不在模擬器中) 請看這個:NSXMLParser Leaking

+0

謝謝你。儘管NSXMLParser沒有問題,但Dev Center中的XML性能測試應用程序仍然可以正常工作。 任何方式,我已經找到了一個偉大的現成的RSS解析器從一個偉大的人名爲邁克爾瀑布在http://github.com/mwaterfall/MWFeedParser它的工作直接開箱即用。非常感謝邁克爾。 – Stuart 2010-07-01 05:44:54