我的导航堆栈中有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]])
答案 0 :(得分:3)
从导航控制器弹出视图控制器是一种简单的方法。这将删除VC E和D.
[self.navigationController popToViewController:viewControllerC animated:YES];