2012-03-20 9 views
3

一部であるエラーを "認識できないセレクタがインスタンスに送信"私AppDelegateコードの

- [のUIViewController viewControllers]:認識されていないセレクタはインスタンスに送信しました0x6a75770
***キャッチされていない例外 'NSInvalidArgumentException'のためにアプリケーションを終了しています、理由: ' - [UIViewController viewControllers]:インスタンス0x6a75770 '

間違いはどこですか?

+1

これが問題の原因となっているコードのセクションであることをどのように知っていますか?デバッガでブレークポイントを設定し、コードの実行を追跡しましたか?エラーは、UIViewControllerインスタンスにviewControllerを送信したとしますが、コードスニペットにはそのメッセージを受け取るUITabBarControllerインスタンスとUINavigationControllerインスタンスのみが表示されます。 –

答えて

1

XIBまたはストーリーボードで物事を正しく接続する必要があります。例外は、[tabBarController viewControllers]を送信したときにオブジェクトがViewControllerであり、UITabBarControllerが予想されていることを示しています。だからこそ、あなたは'-[ViewController viewControllers]:を得ています。ルートビューコントローラが実際にタブビューコントローラであることを確認してください。

11

私はの場所を交換しました、私は作者の手順に従ったので、私は、同じ問題に会ったが、navigationControllerindex=0ではないので

UINavigationController *navigationController 
    = [[tabBarController viewControllers] objectAtIndex:0]; 

これは、どのクラッシュを作ったもので、 2つのタブバーの項目は、それが動作します。

+1

ありがとうございます。あなたは私の日を救う。 – Philip007

+0

おかげさま。私はちょうど30分くらい止まった。自分で検索すると答えが見つかりません。STOであなたの答えを読んで、私の問題を解決しました。 :)私はあなたの答えに投票します。 –

0

あなたはストーリーボードの関係を参照してください>そこに行くとオープンナビゲーター>特定のコントローラを見つける使用している場合、あなたは明らかインデックス= 0

上のオブジェクトの異なるタイプのを受けています。この順序は、そのviewControllersコレクションを参照するときに使用できます。

関連する問題