如何找到 UIViewController 何时从堆栈中弹出 Swift 3

How to find when UIViewController is popped off the stack Swift 3

在 UINavigationController 上,我有两个视图控制器 1 和 2。有一个从 1 到 2 的 Show segue 和一个从 2 到 1 的程序化展开 segue(控制+从场景的视图控制器图标拖动到它的退出图标) .

我怎么知道 2 何时即将从 UINavigationController 堆栈中弹出?

viewWillDisappear 也会在另一个视图被推送到 UINavigationController 堆栈时调用,因此它不是解决方案。我看到 建议创建后退按钮而不是使用默认的后退按钮,但我想知道是否没有系统方法可以用来查明 UIViewController 何时从堆栈中弹出?

我想我可能找到了答案 viewWillDisappear 应该与 isMovingFromParentViewController 一起使用。如果这种方法容易出错,请随时指正。

override func viewWillDisappear(_ animated : Bool) {
    super.viewWillDisappear(animated)

   if self.isMovingFromParentViewController{
        self.performSegue(withIdentifier: "fromEighthToFourth", sender: self)
   }
 }