2010-12-11 7 views
0


이 내 코드 조각입니다 :어떻게이 메모리 누수를 해결할 수 있습니까?

- (id) initWithFrame:(CGRect)frame andConfig:(PGParams*) params 
{ 

for (int i=0; i<[conf.map count]; i++) 
    [conf.map replaceObjectAtIndex:i withObject: 
     [[NSString alloc] initWithFormat:@"%@&sito=%@", 
     [conf.map objectAtIndex:i], [params sito]]]; 

for (int i=0; i<[conf.orto count]; i++) 
    [conf.orto replaceObjectAtIndex:i withObject: 
     [[NSString alloc] initWithFormat:@"%@&sito=%@", 
     [conf.orto objectAtIndex:i], [params sito]]]; 

for (int i=0; i<[conf.mix count]; i++) 
    [conf.mix replaceObjectAtIndex:i withObject: 
     [[NSString alloc] initWithFormat:@"%@&sito=%@", 
     [conf.mix objectAtIndex:i], [params sito]]]; 

} 

RUN_CLANG_STATIC_ANALYZER 옵션을 사용하여이 코드를 컴파일 (속성 인을 -> 옵션 -> 빌드 실행 정적 분석기가), 나에게 [[NSString alloc] ...에 누출을 보여줍니다.

RUN_CLANG_STATIC_ANALYZER

이 설정을 활성화하면 엑스 코드는 자격을 갖춘 소스 파일에 연타 정적 분석 도구를 실행하게됩니다. 이 도구는 현재 C 및 Objective-C 파일을 지원합니다. [RUN_CLANG_STATIC_ANALYZER]


어떻게 내가 그것을 해결할 수 있습니까? 사전에

덕분에,

답변

3

오른쪽 allberto
. 자신이 소유 한 객체 (즉, +alloc을 호출했기 때문에)를 할당하려고했으나 결코 해제하지 않았습니다.

누출을 수정하기 위해 [[NSString alloc] initWithFormat:...]의 모든 인스턴스를 [NSString stringWithFormat:...]으로 바꿀 수 있습니다.

+0

오른쪽! 고마워, 이제 해결되었습니다! – elp

관련 문제