Ios 解除模态视图控制器并重新实例化父对象

Ios 解除模态视图控制器并重新实例化父对象,ios,swift,xcode,uinavigationcontroller,uikit,Ios,Swift,Xcode,Uinavigationcontroller,Uikit,在我的应用程序中,一个视图以模态方式显示在另一个视图上。特别是,以模式呈现的视图(实际上嵌入在NavigationController中)正在引发问题。在多次尝试打开视图之后,我收到了这个错误,并且模式显示停止 00 AppName[48335:1973353] [Presentation] Attempt to present <UINavigationController: 0x7b640000e100> on <UINavigationController: 0x7b64

在我的应用程序中,一个视图以模态方式显示在另一个视图上。特别是,以模式呈现的视图(实际上嵌入在NavigationController中)正在引发问题。在多次尝试打开视图之后,我收到了这个错误,并且模式显示停止

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

00 AppName[48335:1973353][Presentation]尝试在(从)上演示已演示的内容。

是否有任何方法可以取消模式viewController,并实例化父viewController?我需要从子控制器重新实例化父控制器,但我相信这样做会导致嵌套问题。

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

1:当您需要关闭当前演示控制器时,使用
NotificationCenter
发布事件。 2:在关闭当前控制器时使用完成块

disclose(动画:true){
//在这里做点什么
}

实际上,看起来我解决了这个问题。这是我第一次使用模态视图控制器,我做的一件事就是使用NotificationCenter。但事实证明,使用故事板Ref作为模态视图比划分的好处更令人讨厌。相反,我使用一个segue来以模态的方式呈现ModalVC,然后将其忽略(推荐的方式来消除模态)。