0

我有 3 个视图控制器,A->B->C 但在 B 和 CI 之间有一个导航控制器。我的 C 控制器正在从用户那里获取一些信息,并将其保存在领域(本地数据库)中。退出该控制器时,我想转到 B 控制器并显示保存的一些数据,但是,当我尝试使用 popToViewController 时,它告诉我控制器不存在或者它只是崩溃了。我也试过

dismiss(animated: true, completion: nil)

但它只退出控制器并且不会在我的 B 控制器上重新加载数据。有没有办法在 Swift 4 中使用 PopToViewController?

这就是我尝试使用它的方式:

     let prevVC = self.storyboard?.instantiateViewController(withIdentifier: "FormListVC") as? FormListVC
     navigationController?.popToViewController(prevVC, animated: true)

我也试过:

for vc in self.navigationController!.viewControllers {
    if vc is FormListVC {
        navigationController?.popToViewController(vc, animated: true)
    }
}

但什么也没有发生。

4

1 回答 1

1

您是说当您dismiss(animated: true, completion: nil)的视图控制器退出时。

这意味着您的控制器不在导航控制器中,而是以模态方式呈现。所以 popToViewController 不起作用。

如果您想在关闭后将数据传回控制器,请使用 Delegates。

于 2020-01-07T19:48:43.800 回答