2013-07-04 40 views
1

当我尝试解析JSON时,我在很多情况下都面临内存泄漏。想到它告诉SBJsonParser,我知道这不会是一个原因。 。JSON解析时的内存泄漏,

- (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; 
} 

而且内存泄漏在

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

发生我需要做什么来解决这个问题是什么> :(谢谢

+1

是你的代码是否在ARC下? – HepaKKes

+0

最有可能的泄漏(如果有泄漏)是由于你没有正确释放解析器本身或解析器返回的对象。 –

回答

0

你应该使用这样的:

​​
+2

这个答案是正确的。在我为客户创建的一个项目中,SBJsonParser导致了一些非常奇怪并且很难追踪内存泄漏的原因。使用iOS提供的JSON解析逻辑修复了泄漏问题。使用NSJSONSerialization。 – MoDJ

+0

+1其固定内存泄漏在那个地方。谢谢:) – Femina

+0

但是,仍然我得到很多:(id repr = [jsonParser objectWithString:self]; – Femina