【发布时间】:2010-04-09 23:41:07
【问题描述】:
谁能告诉我我在代码的底部做错了什么。我确信它很好,但“Leaks”说它正在泄漏,这很快就会停止将其更改为顶级版本,只是不知道为什么?
// 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;
}
任何帮助将不胜感激。
加里
【问题讨论】:
-
一目了然,我看不出您的代码有任何问题。
[self elementValue]是如何工作的,它返回什么? -
当然看起来不错。有时 Instruments 会撒谎——而 iphoneos 本身就有足够的漏洞 :-)。
-
确实很奇怪。如果显式转换:
[NSNumber numberWithInt:(int)[[self elementValue] intValue]],它仍然会失败吗? -
这种泄漏是出现在设备上还是只出现在模拟器上?模拟器有时会报告虚假泄漏。如果它没有显示在设备上,则无需担心。
-
我在模拟器上运行,泄漏似乎指向“numberWithInt:”
标签: iphone objective-c memory-leaks