2010-04-09 27 views
4

任何人都可以告诉我我在做什么错了底部的代码。我确定它没问题,但“泄漏”说它正在泄漏,并迅速将其更改为顶级版本,但不知道为什么?iPhone,令人困惑的内存泄漏

// Leaks says this is OK 
if([elementName isEqualToString:@"rotData-requested"]) { 
    int myInt = [[self elementValue] intValue]; 
    NSNumber *valueAsNumber = [NSNumber numberWithInt:myInt]; 
    [self setRotData:valueAsNumber]; 
    return; 
} 

// Leaks says this LEAKS  
if([elementName isEqualToString:@"rotData-requested"]) { 
    NSNumber *valueAsNumber = [NSNumber numberWithInt:[[self elementValue] intValue]]; 
    [self setRotData:valueAsNumber]; 
    return; 
} 

任何帮助,将不胜感激。

加里

+0

一目了然,我不能看到你这里的代码的任何问题。 '[self elementValue]'如何工作,它返回了什么? – Isaac 2010-04-10 00:10:39

+1

当然看起来没问题。有时候乐器就在于 - 而且iphoneos有足够的自己的漏洞:-)。 – 2010-04-10 00:14:58

+0

确实很奇怪。它是否仍然失败,如果你明确地强制转换:'[NSNumber numberWithInt:(int)[[self elementValue] intValue]]'? – 2010-04-10 02:42:41

回答

1

错误,内存泄漏检查工具总是产生错误