Я отправляю вопрос, так как у меня есть похожие проблемы, но не точные.
Я новичок в разработке приложений для iPhone.
У меня есть 3 вида контроллеров, как показано ниже.
1 - Контроллер MapView является 1-м контроллером представления и вызывает 2-й контроллер представления таблицы по
[self.navigationContrller pushViewController:titlesViewController];
[titlesViewController release];
2 - titleViewController - это 2-й контроллер табличного представления, а в методе DidSelectRowAtIndexPath он вызывает 3-й контроллер представления.
@implementation TitlesViewController
NSMutableArray *titleArray;
NSMutableArray *bidArray;
...
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
...
[self.navigationController pushViewController:detailViewController animated:YES];
[webView release];
[detailViewController release];
[titleArray release];
[bidArray release];
NSLog(@"****** titlesviewcontoller didSelectRowAtIndexPath");
}
- (void)dealloc
{
[titleArray release];
[bidArray release];
[super dealloc];
NSLog(@"****** titlesviewcontoller dealloc");
}
@end
3 - detailViewController - это третий контроллер вида, отображающий подробную информацию.
Я сделал профиль XCode-> инструменты-> утечка памяти, и есть утечка памяти без
[titleArray release];
[bidArray release];
в didSelectRowAtIndexPath во втором контроллере табличного представления.
Я также заметил, что при работе этого приложения в симуляторе IOS, если я перехожу к третьему подробному представлению из второго табличного представления, метод dealloc () не вызывается, поэтому возникает утечка памяти без двух кодов выпуска для titleArray и Bidarray. Но если я перейду со 2-го вида таблицы на 1-й вид, нажав кнопку Back на контроллере UINavitagation, вызывается dealloc (). И так, нет утечки памяти.
Мой вопрос: действительно ли мне нужны 2 кода выпуска
[titleArray release];
[релиз bidArray];
в didSelectRowAtIndexPath во втором контроллере табличного представления.
Правильно ли мое наблюдение?
Я думал, что dealloc () вызывается каждый раз.
Заранее большое спасибо.