Возможно, я слишком долго смотрел на это;) Мое приложение имеет NavigationController и несколько ViewControllers. Из одного из ViewControllers на два уровня вниз (mainViewController), загруженного из rootViewController, у меня есть код ниже. После PushViewController на dataViewController и обратно (например, нажата кнопка «Назад») приложение выйдет из строя.Strange Exc Bad Access при использовании Init, PushViewController, Release. Что-то не так с этим кодом?
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
}
BINGO! Lupu1001, ваш ответ спас мне жизнь! ;) Я ЛЮБЛЮ ТЕБЯ ЧУВАК!!! – Jordan
Рад, что я мог помочь. Увидимся. –