iOS 删除navigationController栈中得某一个viewController

今天遇到需要删除某一个viewController的需求,即,在一个导航控制器中想跳过某一个vc而pop到更前面的vc。
首先尝试着在navigationController的所有方法中寻找removeXXX的方法或者deleteXXX的方法,但是翻遍navigationController的头文件也没有类似的方法,所以就只能曲线救国,采取其他方法实现类似的功能。在网上搜罗许久终于选择了下面的方法

    NSMutableArray *marr = [[NSMutableArray alloc]initWithArray:self.navigationController.viewControllers];
    for (UIViewController *vc in marr) {
        if ([vc isKindOfClass:[theVCYouWantToRemove class]]) {
            [marr removeObject:vc];
            break;
        }
    }
    self.navigationController.viewControllers = marr;

记得break;否则会出一些小问题
之前也试着使用过self removeFromParentViewController];[这个方法,但是会出现小得问题就放弃使用了。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/it_male/article/details/49931989
文章标签: ios 导航 OC
个人分类: 整理备用
上一篇ios 自定义tabbar时 viewDidAppear不调用
下一篇一张图添加pch文件到工程
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭