У меня странная проблема. Я использую навигационный контроллер и хочу добавить подпредставление (MBProgressHUD) к навигационному контролю. View.
Все отлично под iOS4. Но если я переключаюсь с той же самой частью кода на iOS5, приложение вылетает, потому что navigationController.view теперь равен nil.
Так что в моем коде должно быть что-то, что работает под iOS4, но не под iOS5.
Кто-нибудь догадывается, что я там делаю частично неправильно? Есть ли разница между настройками iOS4 и iOS5?
Я сейчас как-то потерялся, потому что у меня нет общих ошибок, которые я могу найти, но есть более конкретные в контексте iOS5.
Я знаю, что это действительно общее описание, но я думаю, что было бы слишком много, чтобы опубликовать мой полный код здесь.
Так что я действительно ценю каждый намек, потому что совершенно не понимаю, что там не так.
Спасибо
Andreas
Обновление 1:
Я знаю, что проблема возникает из-за tabBarController.
Это следующим образом:
Когда пользователь щелкает строку в UITableView, приложение открывает tabBarController, включающий три представления, каждое из которых состоит из UINavigationController и представления в нем.
Итак, я инициализирую эту конструкцию следующим образом:
self.tabBarController = [[UITabBarController alloc] init];
SomeUIViewController* tabOne = [[SomeUIViewController alloc] init];
tabOne.tableViewContext = self.conferenceContext;
SomeUIViewController* tabTwo = [[SomeUIViewController alloc] init];
tabTwo.delegate = tabOne;
SomeUIViewController* home = [[SomeUIViewController alloc] init];
[self.tabBarController setViewControllers:[NSArray arrayWithObjects:tabOne, tabTwo, home, nil]];
[self.navigationController pushViewController:self.tabBarController animated:YES];
[home release];
[tabTwo release];
[tabOne release];
Так что, похоже, ошибка в этих строках кода. Потому что, если я только инициализирую tabOne-View без tabBar, все работает отлично и под iOS5. Но если я инициирую tabBar с этими строками кода, я получаю ошибку.
Может кто-нибудь объяснить мне, что не так с точки зрения iOS5, потому что этот код отлично работает под iOS4.
Обновление 2 (важно)
Итак, я думаю, что проблема в navController. Моя структура выглядит следующим образом: window-> navController-> tabBar.
И похоже, что под iOS4 приложение может получить доступ к navController в tabBarView, но не под iOS5.