Swift & 导航:如何弹出直到某个 ViewController?

Swift & Navigation : How do I pop until a certain ViewController?

为了弹出到 Root ViewController,我可以使用下面的代码。

navigationController?.popToRootViewController(animated: false)

但是如果我想弹出直到导航堆栈中的某个视图控制器,我该怎么做呢?请帮我。谢谢。

导航控制器包含一组视图控制器,您可以弹出任何您想要的子控制器。例如你的流程看起来像:

HomeViewController -> ContactViewController -> ContactDetailsViewController -> ChatViewController

然后你想从 ChatViewController 推回到 ContactViewController:

class ChatViewController: UIViewController {
    ....
    func popToContact() {
        if let contactVC = self.navigationController?.viewControllers.filter { [=10=] is ContactViewController }.first {
            self.navigationController?.popToViewController(contactVC, animated: true)
        }
    }
}