2012-05-08 4 views
0

Я разрабатываю приложение (с помощью раскадровки) со входом в систему (UIViewController), которое передает аутентифицированный пользователь в приложение Tab (UITabbarController). Один из элементов панели вкладок основан на Table View Controller, для которого я добавил UINavigationController. Для разработки табличных экранов я следую за iOS 5, часть 2 (Пример наблюдения за птицами). Я успешно создал целое приложение, кроме этой таблицы. Я запутался в AppDelegate, потому что мой контроллер корневого представления - это экран входа в систему в примере BirdSighting и в большинстве примеров приложение запускается либо с помощью диспетчера навигации, либо с помощью Tabbar Controller. Я вставляю свой метод AppDelegate.Приложение IPhone с несколькими контроллерами

Это запускается ошибкой времени я получаю «Нагрузочное приложение из-за неперехваченное исключение„NSInvalidArgumentException“, причина:" Pushing навигационного контроллера не поддерживается»

Это мое приложение течет Входа в screen- > Таб. Приложение Tab1. Show details Tab2. Просмотреть билет (TicketMasterViewController) -> Сведения о билете (TicketDetailViewController).

Должен ли я инициализировать все контроллеры в AppDelegate и какой должен быть объектAtIndex для TicketMasterViewController. Спасибо за ваше время.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    NavigationViewController *vc4=[[NavigationViewController alloc]init]; 


    UINavigationController *navigationController=[[UINavigationController alloc]initWithRootViewController:vc4]; 
    TicketMasterViewController *firstViewController=(TicketMasterViewController *)[[navigationController viewControllers] objectAtIndex:0]; 
    TicketDataController *aDataController=[[TicketDataController alloc] init]; 
    firstViewController.dataController=aDataController; 

    // Override point for customization after application launch. 
    return YES; 
} 
+0

Значит, вам нужно добавить панель вкладок в контроллер? – vishiphone

+0

В вашем потоке две вкладки показывают подробную информацию и билеты на просмотр, а также информацию о билетах, откуда они вышли? – vishiphone

ответ

0

Вы можете попробовать удалить вышеуказанный код, и приложение, вероятно, запустится. Этот код вам не нужен, если вы используете раскадровки и предполагаете, что вы настроили эту иерархию контроллера вида, как описано выше. Единственная причина для добавления кода здесь - это привязать данные (модель в MVC) к контроллеру представления.

Смежные вопросы