【发布时间】:2016-03-17 10:56:00
【问题描述】:
我正在尝试返回到以前的视图控制器,但我遇到了(据我理解)不应该发生的问题。
对我正在尝试做的事情的简短描述: 我有 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)
}
}
如果 B 仍然存在于导航控制器的堆栈中,这一切都可以正常工作。如果 B 已从堆栈中删除(由于与内存相关的原因),它会给我一个 Tried to pop to a view controller that doesn't exist 错误(显然) .我感到困惑的是,如果 B 不再存在于堆栈中,If 语句不应该阻止调用 popToViewController 方法吗?
【问题讨论】:
-
iskindofclass(InventoryListViewController.class) 我猜缺少类似的东西
标签: ios swift uinavigationcontroller