Ios UIAlertController';解雇

Ios UIAlertController';解雇,ios,swift,ios8,uialertcontroller,Ios,Swift,Ios8,Uialertcontroller,我已经在我的应用程序中实现了导航中介程序singleton。中介保留对主视图控制器的引用,以从中启动视图控制器转换。因此,为了呈现视图控制器,使用者将调用导航中介来实现这一点。与此相同,以便可以重置主视图控制器 我遇到的问题是呈现UIAlertController。我无法通过我的导航中介解除此控制器,因为当点击按钮时,它会自动解除,因此在解除主视图控制器时无法重置主视图控制器 我提出的唯一解决方案是在UIAlertController上创建一个扩展来覆盖ViewWillEnglish,这将重置主

我已经在我的应用程序中实现了导航中介程序singleton。中介保留对主视图控制器的引用,以从中启动视图控制器转换。因此,为了呈现视图控制器,使用者将调用导航中介来实现这一点。与此相同,以便可以重置主视图控制器

我遇到的问题是呈现UIAlertController。我无法通过我的导航中介解除此控制器,因为当点击按钮时,它会自动解除,因此在解除主视图控制器时无法重置主视图控制器

我提出的唯一解决方案是在UIAlertController上创建一个扩展来覆盖ViewWillEnglish,这将重置主视图控制器,如下所示。有没有办法取消默认解雇行为

extension UIAlertController {

    public override func viewWillDisappear(animated: Bool) {
        super.viewWillDisappear(animated)
        NavigationMediator.resetPrimaryViewController(self.presentingViewController)
    }

}

没有,但您可以在事件结束之前对其作出响应。UIALertViewDelegate。alertView:willDismissWithButtonIndex:


否则,请构建您自己的AlertView。

UIAlertView在iOS8中不推荐使用。建议支持UIAlertController。谢谢。不推荐并不意味着它错了。这只是一个警告。