1.这个有风险,如果push的固定,没有问题,如果多个地方push,[2]这个监测到的就有可能引起崩溃,推荐使用第二种
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)