Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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_Swift_Uinavigationcontroller - Fatal编程技术网

Ios 试图弹出到不显示';不存在

Ios 试图弹出到不显示';不存在,ios,swift,uinavigationcontroller,Ios,Swift,Uinavigationcontroller,我试图返回到以前的视图控制器,但我遇到了(据我所知)不应该发生的问题 对我正在尝试做的事情的简短描述: 我有4个视图控制器:A、B、C和D。 基本的UI流是A->B->C->D。 在完成C的工作后,我想回到B 我的代码: let viewControllerArray = self.navigationController?.viewControllers for(var i=0;i<viewControllerArray?.count;i++){

我试图返回到以前的视图控制器,但我遇到了(据我所知)不应该发生的问题

对我正在尝试做的事情的简短描述: 我有4个视图控制器:A、B、C和D。 基本的UI流是A->B->C->D。 在完成C的工作后,我想回到B

我的代码:

let viewControllerArray = self.navigationController?.viewControllers
                for(var i=0;i<viewControllerArray?.count;i++){
                    if(viewControllerArray![i].isKindOfClass(InventoryListViewController)){
                        self.navigationController?.popToViewController(viewControllerArray![i], animated: true)
                    }
                }
让viewControllerArray=self.navigationController?.viewControllers

对于(var i=0;i防止崩溃的最佳方法是通过可选的展开。请尝试此代码,并告诉我它是否解决了问题

let allVC = self.navigationController?.viewControllers

if  let inventoryListVC = allVC![allVC!.count - 2] as? InventoryListViewController {   
self.navigationController!.popToViewController(inventoryListVC, animated: true)
}

Swift 4

let viewcontrollers = self.navigationController?.viewControllers

viewcontrollers?.forEach({ (vc) in
        if  let inventoryListVC = vc as? InventoryListViewController {
            self.navigationController!.popToViewController(inventoryListVC, animated: true)
        }
    })
我想,类似这样的类(InventoryListViewController.class)缺少了吗