首页 > 解决方案 > 在呈现的视图控制器被解除后调用主控制器的函数

问题描述

我有一个显示视图控制器的 MainViewcontroller。用户可能会采取一个动作,首先应该关闭视图控制器,然后调用 MainViewcontroller 中定义的函数。

约束是这个函数将创建一个新的 vc 来呈现。我试过主控制器的viewWillAppear和viewdidAppear。这不起作用,因为他们不止一次被调用。

我也可以使用通知机制,但我不确定 MainViewController 是否会在收到通知之前出现。

标签: iosswift

解决方案


你应该看看presentingViewController 文档。从呈现的视图控制器中,您可以使用self.presentingViewController. 在下面试试我的代码

let mainViewController = self.presentingViewController as! MainViewController

self.dismiss(animated: true) {
  mainViewController.doWhateverYouWant()
}

推荐阅读