認証されたユーザーをタブアプリケーション(UITabbarController)に移動させるサインイン画面(UIViewController)を備えたアプリ(ストーリーボードを使用)を開発しています。タブ バー アイテムの 1 つは、UINavigationController を追加した Table View Controller に基づいています。テーブル画面の開発については、iOS 5 パート 2 (Bird Sighting Example) に従っています。このテーブル部分を除いてアプリ全体を正常に作成しました。BirdSighting の例ではルート ビュー コントローラーがサインイン画面であるため、AppDelegate で混乱しています。ほとんどの例で、アプリは Navigation View Controller または Tabbar Controller から開始されます。AppDelegate メソッドを貼り付けています。
これは実行時エラーで、「キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: 'ナビゲーション コントローラーのプッシュはサポートされていません'」というメッセージが表示されます。
これは私のアプリ フロー サインイン画面 -> タブ アプリケーション Tab1 です。詳細Tab2を表示します。チケットの表示(TicketMasterViewController) -> チケットの詳細(TicketDetailViewController)。
AppDelegate のすべてのコントローラーを初期化する必要がありますか? TicketMasterViewController の objectAtIndex は何ですか? 御時間ありがとうございます。
- (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;
}