NSNumber Утечка памяти номер с внутри цикла For - PullRequest
0 голосов
/ 03 августа 2011

NSNumber Утечка памяти внутри цикла for - начала происходить в Xcode Instruments версии 4.1 на OSX Lion - это утечка при выполнении в профиле устройства с инструментами. Любые идеи приветствуются.

        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];

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

Предполагая, что activityScore либо сохраняет, либо копирует свои значения, тогда я думаю, что ваш код в порядке.

Нередко инструменты дают ложные срабатывания (или пропускают подлинные утечки). Считайте это указателем на код для двойной проверки, а не гарантией утечки.

0 голосов
/ 03 августа 2011
NSNumber *newActivityScoreNumber = [NSNumber numberWithInt:newActivityScore];
self.activityScore = newActivityScoreNumber;

Так вот, NSNumber автоматически выпущен. вам не нужно об этом беспокоиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...