gpt4 book ai didi

ios - 在 Swift 中使用 UIAlertViewController 时无法从 shouldPerformSegue 返回控制

转载 作者:行者123 更新时间:2023-11-30 13:02:52 26 4
gpt4 key购买 nike

我在shouldPerformSegue中使用以下代码。我想根据用户是否选择删除或取消来停止或继续继续。

我注意到由于警报,segue 停止了。如果我删除警报,那么 segue 工作正常。

shouldPerformSegue 使用此类验证的位置是否不正确?

谢谢。

let alertController = UIAlertController(title: "Confirm Delete", message: "Are you sure?", preferredStyle: UIAlertControllerStyle.alert)

let deletelAction = UIAlertAction(title: "Delete", style: UIAlertActionStyle.destructive) { (result : UIAlertAction) -> Void in
print("Delete")

if self.selection != nil {
if self.selection!.delete() == true { //this is database call
self.success = true
} else {
self.success = false
}
}
let cancelAction = UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel) { (result : UIAlertAction) -> Void in
print("Cancelled delete")
self.success = false
}
alertController.addAction(deletelAction)
alertController.addAction(cancelAction)
self.present(alertController, animated: true, completion: nil)

return success

最佳答案

感谢 Paulw11 的评论,我找到了答案至this question .

因此,我从“删除栏”按钮中删除了展开转场,并将其从“ View Controller ”添加到“退出”。然后我从删除操作方法中以编程方式调用此 segue。这有效。

但是我注意到 shouldPerformSegue 没有被调用。原因解释见this link通过 nburk如果以编程方式调用 segue,则不会调用 shouldPerformSegue。苹果工程师真的很聪明:)

关于ios - 在 Swift 中使用 UIAlertViewController 时无法从 shouldPerformSegue 返回控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39729960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com