Моя настройка приложения - UITabBar с тремя вкладками. На каждой вкладке находится другой UINavigationController.Как выпустить UINavigationController?
В первой вкладке есть кнопка обновления - это загружается в нагрузку данных из Интернета (xml). Данные отображаются в трех вкладках.
Как освободить UINavigationControllers, когда кто-нибудь обновляет данные? Причина, по которой я хочу это сделать, - это то, когда в результате изменения данных различные вкладки могут иметь полностью новые данные для отображения, поэтому было бы немного опасно хранить этот экран .. если это имеет смысл. Поэтому я хочу полностью обновить UINavigationControllers и показать первое представление в стеке навигации, когда они снова нажмут на вкладку.
Спасибо Райан за его ответ. То, как я сделал что-то вроде этого
for(UINavigationController *navController in [self.navigationController.tabBarController viewControllers]) {
NSLog(@"popping %@", [navController title]);
[navController popToRootViewControllerAnimated:NO];
if ([[navController title] isEqualToString:@"Tab2"])
{
Tab2RootController *newRoot2 = [[Tab2RootController alloc] initWithNibName:@"Tab2RootController" bundle:nil];
newRoot2.title = @"Tab2";
[navController setViewControllers:[NSArray arrayWithObject:newRoot2] animated:NO];
//need [newRoot2 release]?
}
if ([[navController title] isEqualToString:@"Tab3"])
{
Tab3RootController *newRoot = [[Tab3RootController alloc] initWithNibName:@"Tab3RootController" bundle:nil];
newRoot3.title = @"Tab3";
[navController setViewControllers:[NSArray arrayWithObject:newRoot3] animated:NO];
//need [newRoot3 release]?
}
}
Отлично, спасибо, .. Я изменил свой вопрос, чтобы показать код, который я использовал на основе вашего понимания. – cannyboy