1.这个有风险,如果push的固定,没有问题,如果多个地方push,[2]这个监测到的就有可能引起崩溃,推荐使用第二种
//[2]代表你想pop的对象的层级,rootVC为0
let idVC = self.navigationController?.viewControllers[2] as! IdentityViewController
_ = self.navigationController?.popToViewController(idVC, animated: true)
2.另外一种不确定层级的方法(推荐使用)
for i in 0..<(self.navigationController?.viewControllers.count)! {
if self.navigationController?.viewControllers[i].isKind(of: YourViewController.self) == true {
_ = self.navigationController?.popToViewController(self.navigationController?.viewControllers[i] as! YourViewController, animated: true)
break
}
3.pop返回多个ViewController
//获取viewController的个数
let vcCount = self.navigationController?.viewControllers.count
_ = self.navigationController?.popToViewController((self.navigationController?.viewControllers[vcCount! - 2])!, animated: true)
使用注意事项:
1.pop与push成对使用
2.数值1,返回至当前界面
数值2, 返回上一界面,以此类推