2

ナビゲーション スタックに 5 つのビュー コントローラー (たとえば、A、B、C、D、E) があります。ViewController E はスタックの一番上にあります。ViewController E でボタンをクリックすると、ViewController C に移動したいと考えています。そのために、次のコードを使用しています。

NSMutableArray *navigationarray = [NSMutableArray arrayWithArray:self.navigationController.viewControllers];
[navigationarray removeObjectAtIndex:4];
[navigationarray removeObjectAtIndex:3];
self.navigationController.viewControllers = navigationarray;
[navigationarray release];

これを行うためのより良い方法はありますか?ナビゲーション配列からどのviewControllerが削除されているかを確認できます

isKindOfClass編集:この場合、ビューコントローラーが特定のビューコントローラーのクラスから削除されているかどうかを確認できますか?

if ([[navigationarray objectAtIndex:4] isKindOfClass:[MyClass class]])
4

1 に答える 1

3

ナビゲーションコントローラーからビューコントローラーをポップするのが簡単な方法です。これにより、VC E と D が削除されます。

[self.navigationController popToViewController:viewControllerC animated:YES];
于 2012-05-16T05:21:18.947 に答える