2012-01-12 14 views
0

ナビゲーションスタックにある特定のビューコントローラにポップしようとしていますが、実行しようとするとこのエラーがポップアップしています。ここでは、コードナビゲーションスタックからビューをポップしようとするとアサーションに失敗する

Assertion failure in -[UINavigationController popToViewController:transition:], /SourceCache/UIKit_Sim/UIKit-1912.3/UINavigationController.m:2229 

は、コードはあなたがそれをする別のコントローラと同じであったとしても、あなたはまだプッシュされていないコントローラのインスタンスを開くことができない問題

FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController.xib" bundle:nil]; 

    [self.navigationController popToViewController:firstViewController animated:YES]; 
+0

例の2行のコードの間に何かがありますか? – dasblinkenlight

+0

これは正確には何ですか?didSelectRowAtIndexPathメソッド –

答えて

4

他の例が完全に動作する例を見つけるために管理されます。

//ただ、ナビゲーションスタック上のparticulartポイントにこのことができます

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:1] animated:YES]; 

希望をポップするobjectAtIndex番号を選択します。

2

を引き起こしてthatsのですあなたは帰りたいです。

コードスニペットでは、ナビゲーションコントローラのスタックを新しく作成されたオブジェクトにポップしようとしています。このコントローラーは、作成したばかりのため、スタックにありません。ナビゲーションコントローラは、探しているコントローラを見つけることができないので、エラーが発生します。

+0

中、firstViewControllerがそこにあります。このビューでは、popToViewControllerと入力したときに表示されなかったので、これを宣言しました...私は何をすべきか分かりません。 –

+0

@ C.Johnsスタックにプッシュする前に初期化コードで作成した 'firstViewController'オブジェクトへのポインタを格納する変数を定義します。スタックを最初のView Controllerにポップするコードで、その変数の値を使用します。 – dasblinkenlight

関連する問題