Swift3.0 popToViewController 的使用

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, 返回上一界面,以此类推

你可能感兴趣的:(Swift3.0 popToViewController 的使用)