关闭模态视图控制器并重新实例化父级

Dismissing Modal ViewControllers And Reinstantiating Parent

在我的应用程序中,一个视图以模态方式呈现在另一个视图之上。特别是,实际上嵌入在 NavigationController 中的模态呈现视图会导致问题。多次尝试打开视图后,我收到此错误,模态显示停止。

00 AppName[48335:1973353] [Presentation] Attempt to present <UINavigationController:
0x7b640000e100> on <UINavigationController: 0x7b640000a000> (from <AppName.ViewController: 
0x7b600007b800>) which is already presenting <UINavigationController: 0x7b640000d200>.

有什么方法可以关闭我的模态 viewController,同时实例化父模态 ViewController?我需要重新实例化子控制器的父控制器,但我相信这样做会导致嵌套问题。

您不能在一个控制器上方显示多个控制器。在显示另一个控制器后关闭当前显示的控制器。有几种方法可以做到:

1:当您需要关闭当前呈现的控制器时,使用 NotificationCenter 到 post 事件。 2:在关闭当前控制器时使用完成块。

dismiss(animated: true) {
   //do something here
}