Не удается найти утечку из статического анализатора

Я получаю некоторые ошибки от Clang Static Analyzer, говорящие о том, что у меня есть несколько утечек из следующего кода. Однако я не могу найти утечку. Подскажите пожалуйста где утечка.

 Favourites *fav = [[Favourites alloc] initWithNibName:@"Favourites" bundle:nil];
if (viewController == fav) {
    [fav doHud];
    [fav release];
}

person max_    schedule 25.04.2011    source источник


Ответы (1)


fav не будет выпущен, если viewController не окажется == в fav. Вы не устанавливаете viewController равным fav, поэтому он не будет выпущен. Переместите[fav release] за пределы if, и все будет в порядке.

или вообще избавиться от the[fav release] и просто использовать autorelease, например:

Favourites *fav = [[[Favourites alloc] initWithNibName:@"Favourites" bundle:nil] autorelease];

person Damien    schedule 25.04.2011