Может быть, я смотрю на это слишком долго;) В моем приложении есть NavigationController и несколько ViewController.От одного из ViewController вниз на два уровня (mainViewController), загруженного из rootViewController, у меня есть код ниже.После PushViewController к dataViewController и обратно (например, нажата кнопка «Назад») происходит сбой приложения.
DataViewController загружается просто отлично, но при нажатии кнопки «Назад» навигационного контроллера происходит сбой приложения с исключением объектов.Если я удалю:
[dataViewController release];
, приложение работает нормально.Это странно, потому что dataViewController инициируется тем же методом.Есть идеи?
- (void) locationPage
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"NotifyRemoveMap" object:nil];
MyAppDelegate *app = [[UIApplication sharedApplication] delegate];
UINavigationController *navigation = app.navigationCantroller;
[navigation popToRootViewControllerAnimated:NO];
DataViewController *dataViewController = [[DataViewController alloc] initWithNibName:@"DataView" bundle:nil];
[dataViewController setCategoryId:category];
MyLanguage *lang = app.lang;
Mylocation *location = [lang locationForCategoryId:category];
dataViewController.title = location.name;
NSArray *locationArray = [lang locations];
dataViewController.locations = locationArray;
[navigation pushViewController:dataViewController animated:YES];
[dataViewController release]; // With this removed, app doesn't crash
}