2010-06-29 10 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

그것은 여자의 손에 있습니다. –

답변

1

NSXMLParser에 누수가 있습니다. Apple의 버그입니다. 버그 # 6469143. 나는 그들이 iOS4에서 해결했다고 생각하지 않는다. (적어도 시뮬레이터에는 없습니다) 다음을 참조하십시오 : NSXMLParser Leaking

+0

고마워요. NSXMLParser가 괜찮은 경우가 있지만 Dev Center의 XML Performance 테스트 앱은 정상적으로 작동합니다. http://github.com/mwaterfall/MWFeedParser의 Michael Waterfall이라는 위대한 사람의 훌륭한 준비된 RSS 파서를 찾은 어떤 방법으로도 바로 사용할 수 있습니다. 마이클에게 많은 감사를드립니다. – Stuart

관련 문제