如何在 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)
}
我创建了一个 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)
}