NSNumber for循环中的内存泄漏 - 在OSX Lion上的Xcode Instruments 4.1版本上开始 - 当使用仪器在设备配置文件上执行时,这是泄漏。任何想法都赞赏。
int currentActivityScore = [self.activityScore intValue];
int deltaCriteriaScore = [[segmentItemArray objectAtIndex:3] intValue];
int newActivityScore = currentActivityScore + deltaCriteriaScore;
self.activityScore = [NSNumber numberWithInt:newActivityScore];
我也尝试了这个代码,仍然有泄漏!!!
int currentActivityScore = [self.activityScore intValue];
int deltaCriteriaScore = [[segmentItemArray objectAtIndex:3] intValue];
int newActivityScore = currentActivityScore + deltaCriteriaScore;
NSNumber *newActivityScoreNumber = [[NSNumber alloc] initWithInt:newActivityScore];
self.activityScore = newActivityScoreNumber;
[newActivityScoreNumber release];
答案 0 :(得分:0)
NSNumber *newActivityScoreNumber = [NSNumber numberWithInt:newActivityScore];
self.activityScore = newActivityScoreNumber;
所以NSNumber是自动释放的。你不需要为此烦恼。
答案 1 :(得分:0)
假设activityScore
保留或复制其值,那么我认为您的代码没问题。
仪器给出假阳性(或错过真正的泄漏)并非闻所未闻。将其视为指向要仔细检查的代码的指针,而不是泄漏的保证。