在swift开发中,我们经常会遇到这样一个问题,就是我们需要返回的是是之前push过来的某个界面,例如我们A->B->C->D界面的传递,这样的话我们想要返回从D回到B的时候我们就可以使用这个方法
extension LoginViewController {
private func testViews() {
var removeArr = [RegisterViewController.self]
let vcArr = NSMutableArray(array: self.navigationController!.viewControllers)
print("这里是我返回的vcArr:\(vcArr)")
for vc in vcArr {
if removeArr.count > 1 {
if (vc as! UIViewController).classForCoder == removeArr[0] {
vcArr.remove(vc)
}
if (vc as! UIViewController).classForCoder == removeArr[1] {
vcArr.remove(vc)
break
}
}else {
if (vc as! UIViewController).isKind(of: RegisterViewController.self) {
vcArr.remove(vc)
break
}
}
}
self.navigationController?.viewControllers = vcArr as! [UIViewController]
}
}
网友评论