Возможный результат анализа утечки не исчезнет - PullRequest
3 голосов
/ 02 декабря 2010

У меня есть этот метод, и анализатор сообщает, что существует потенциальная утечка изменяемого массива itemsArray. Я добавил соответствующий release в конце метода, но результат анализа остается.

- (void)addCategory:(NSString*)category {
    NSMutableArray *itemsArray = [[NSMutableArray alloc] initWithCapacity:1];

    if (category) {
        [[APP_DELEGATE itemsDictionary] setObject:itemsArray forKey:category];  
    }

    [self dismissModalViewControllerAnimated:YES];
    [itemsArray release];
}

Как я могу это исправить?

Спасибо.

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Этот код не вызывает проблем с анализатором:

static NSMutableDictionary *itemsDictionary;

- (void)addCategory:(NSString*)category {
    NSMutableArray *itemsArray = [[NSMutableArray alloc] initWithCapacity:1];

    if (category) {
        [itemsDictionary setObject:itemsArray forKey:category];  
    }

    [self dismissModalViewControllerAnimated:YES];
    [itemsArray release];
}

Можете ли вы опубликовать точную формулировку (или, возможно, скриншот) предупреждения, которое вы видите?

0 голосов
/ 02 декабря 2010

почему бы вам не попробовать поместить [itemsArray release] перед строкой [self dismissModalViewControllerAnimated: YES];

...