Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从流中删除视图控制器?_Ios_Objective C - Fatal编程技术网

Ios 如何从流中删除视图控制器?

Ios 如何从流中删除视图控制器?,ios,objective-c,Ios,Objective C,我有四个viewController,分别是A、B、C、D。我的流程是从A到D。当我到达D时,我想删除B view controller。我正在使用present viewController显示下一个视图。从您的例如,在D屏幕中,您需要检查self.navigationController?.viewController并删除所需的viewController var newArray = [UIViewController]() if let viewControllers

我有四个viewController,分别是A、B、C、D。我的流程是从A到D。当我到达D时,我想删除B view controller。我正在使用present viewController显示下一个视图。

从您的例如,在D屏幕中,您需要检查
self.navigationController?.viewController
并删除所需的viewController

    var newArray = [UIViewController]()

    if let viewControllers = self.navigationController?.viewControllers {
        for vc in viewControllers {

            if !(vc is <#Desired ViewController#>) {
                newArray.append(vc)
            }
        }
       self.navigationController?.viewControllers = newArray
    }
var newArray=[UIViewController]()
如果让ViewController=self.navigationController?.ViewController{
用于ViewController中的vc{
如果!(vc是){
newArray.append(vc)
}
}
self.navigationController?.ViewController=newArray
}

您想直接从C移回A吗?是的,我想把回流C移到B@KristopherJohnson我猜他不是在展示导航堆栈,而是在推。@user9294044通过展示它是不可能的,但是如果你使用
navigationController
,那么它就有
viewControllers
属性,它是一个数组,你可以
删除/替换/添加任何属性
控制器
连接到它。甚至你也可以使用自定义的
显示/取消
动画,同时
弹出
@user9294044你到底想要什么?请详细说明这不是这个问题的答案。请仔细阅读这个问题。