OGeek|极客世界-中国程序员成长平台

标题: iphone - 以正确的方式从导航堆栈中删除 View Controller [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 13:48
标题: iphone - 以正确的方式从导航堆栈中删除 View Controller

我的导航堆栈中有 5 个 View Controller (比如 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 正在从导航数组中删除

编辑:在这种情况下,我可以检查 View Controller 是否被删除 isKindOfClass 特定 View Controller 的类,如

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



Best Answer-推荐答案


从导航 Controller 弹出 View Controller 是一种简单的方法。这将删除 VC E 和 D。

[self.navigationController popToViewController:viewControllerC animated:YES];

关于iphone - 以正确的方式从导航堆栈中删除 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10612431/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4