iPhone,令人困惑的内存泄漏

iPhone,令人困惑的内存泄漏,iphone,objective-c,memory-leaks,Iphone,Objective C,Memory Leaks,谁能告诉我代码的底部有什么问题吗。我确信它是好的,但“泄漏”说它是泄漏的,这很快改变它的顶部版本停止,只是不知道为什么 // Leaks says this is OK if([elementName isEqualToString:@"rotData-requested"]) { int myInt = [[self elementValue] intValue]; NSNumber *valueAsNumber = [NSNumber numberWithInt:myInt]

谁能告诉我代码的底部有什么问题吗。我确信它是好的,但“泄漏”说它是泄漏的,这很快改变它的顶部版本停止,只是不知道为什么

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

任何帮助都将不胜感激


gary

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

乍一看,我看不出您这里的代码有任何问题。
[self-elementValue]
是如何工作的,它会返回什么?看起来当然不错。有时仪器会撒谎,而iphoneos本身也有足够多的漏洞:)。真的很奇怪。如果显式强制转换:
[NSNumber numberWithInt:(int)[[self elementValue]intValue]]
,是否仍会失败?此泄漏是出现在设备上还是仅出现在模拟器中?模拟器有时会报告错误的泄漏。如果它没有出现在设备上,那没什么好担心的。我在模拟器上运行,泄漏似乎指向“numberWithInt:”
// Leaks says this LEAKS    
if([elementName isEqualToString:@"rotData-requested"]) {
    NSNumber *valueAsNumber = [NSNumber numberWithInt:[[self elementValue] intValue]];
    [self setRotData:valueAsNumber];
    return;
}