如何在UIAlertAction之后调用函数[执行某些操作]?

时间:2019-05-11 01:45:35

标签: ios swift action uialertaction

我创建了一个类,该类允许我在需要时自定义UIAlertAction。问题是我需要做一些事情,在用户按下Delete键(取消以外的选项)后,调用另一个类中的函数

我尝试过的事情:

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)
            }
})

更新:我相信上面的代码无法正常工作,因为完成操作要在演示完成后才能进行,而不是在用户与弹出窗口完成交互时进行。

在其他类中的

:如果用户按下删除按钮,则将hasDeleted变量设为true。问题在于补全中的代码似乎只能与其他代码一样。

我该如何完成我的打算?

1 个答案:

答案 0 :(得分:2)

在警报控制器内部添加var

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

以及在delete的处理程序内发生操作时

callback?(true/false)

和听

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