【发布时间】:2018-07-11 16:00:42
【问题描述】:
当我关闭弹出 ViewController 时,我想在呈现的 ViewController 上调用一个方法。我像这样从“MainViewController”启动弹出窗口:(在 EzPopup 库的帮助下,但我认为这不重要)
@IBAction func onStartWorkout(_ sender: UIButton) {
let startWorkoutVC = storyboard!.instantiateViewController(withIdentifier: "CardContent") as! StartWorkout_ViewController
let popupVC = PopupViewController(contentController: startWorkoutVC, popupWidth: 300, popupHeight: 500)
popupVC.cornerRadius = 10
present(popupVC, animated: true)
}
然后当我关闭弹出窗口时,我会这样做:
func dissmissPopup() {
if let presenter = presentingViewController as? MainViewController {
presenter.startWorkout(index: 0, isSNR: true)
}
self.dismiss(animated: true, completion: nil)
}
但不会调用该方法。 presentingViewController 是如何工作的,为什么我对 MainViewController 的引用不起作用?
【问题讨论】:
-
这个
dissmissPopup方法在哪个类中? -
因为 presentingViewController 为 nil
-
@Popmedic
presentingViewController是UIViewController的属性。 -
@rmaddy 如你所料,我在“StartWorkout_ViewController”上
-
@Sh_Khan 我知道它的 nil,问题是为什么它是 nil 以及如何解决这个问题?