2013-07-04 7 views
1

JSON을 구문 분석하려고 할 때 많은 경우 메모리 누수가 발생합니다. 그 SBJsonParser 말하고 생각, 그게 원인이되지 않을 알아요. . 나는이 문제를 해결하기 위해해야 ​​할 일은JSON 구문 분석시 메모리 누수,

"id result=[JSON valueForKeyPath:@"result"]; " 
// 100.0% memory leak 
id repr = [jsonParser objectWithString:self]; // 80.0% Memory Leak 

에서 일어나고

- (id)JSONValue { 
    SBJsonParser *jsonParser = [SBJsonParser new]; 
    id repr = [jsonParser objectWithString:self]; // 100.0 % Memory Leak 
    if (!repr) 
     NSLog(@"-JSONValue failed. Error is: %@", jsonParser.error); 
    [jsonParser release]; 
    return repr; 
} 

또한 메모리 누수가> :(감사

+1

입니다 ARC 아래에 코드가 있습니까? – HepaKKes

+0

누출 가능성이 가장 높습니다 (누출이 전혀없는 경우). 파서 자체 또는 파서에 의해 리턴 된 객체 –

답변

0

대신 이것을 사용한다 :

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:receivedData options:NSJSONReadingMutableContainers error:nil]; 
+2

이 답변은 정확합니다. 클라이언트를 위해 만든 프로젝트에서 SBJsonParser는 메모리 누수를 추적하는 데 매우 이상하고 힘든 원인의 일부였습니다. iOS와 함께 제공된 JSON 파싱 로직을 사용하여 누출 문제가 해결되었습니다. NSJSONSerialization을 사용하십시오. – MoDJ

+0

그 자리에서 고정 된 메모리 누수 +1. 고마워요 :) – Femina

+0

하지만, 여전히 메신저를 많이 받고있다. (id repr = [jsonParser objectWithString : self]; – Femina