如何在 UIAlertAction 之后调用函数 [做某事]?

How to call a function [do something] after a UIAlertAction?

我创建了一个 class,它允许我在需要时自定义 UIAlertAction。问题是我需要做一些事情,在用户按下删除(取消以外的选项)

后调用另一个 class 中的函数

我尝试了什么:

let dAction = ActionButtonOptions(isReportButton: false, selectedPost: selectedPost!, numberMedia: numberMedia, forP3: true) 
self.present(dAction.action, animated: true, completion: {
       if dAction.hasDeleted {
                print("83908120938292180918309123 ", dAction.hasDeleted)
                self.nextGestureMethods()//these two things are teh things I need to do
                self.selectedPost?.interimMedia.remove(at: self.numberMedia-1)
            } else {
                print("837vgvgvgvgvgvgvgv908120938292180918309123", dAction.hasDeleted)
            }
})

更新:我相信上面的代码不起作用,因为完成是在呈现完成之后运行的,而不是在用户完成与弹出窗口的交互时运行的。

在另一个 class 内部:如果用户按下删除按钮,我将 hasDeleted 变量设置为真。问题是完成中的代码似乎直接转到了其他地方。

我怎样才能完成我想要的?

在警报控制器中添加变量

var callback:((Bool)->())?  

当删除处理程序内部发生操作时,do

callback?(true/false)

并聆听

dAction.callback = { [weak self] (value) in 
   print(value)
}