gpt4 book ai didi

ios - 如何在 UIAlertAction 中传递多个处理程序

转载 作者:行者123 更新时间:2023-11-28 19:25:20 27 4
gpt4 key购买 nike

我有几个按钮,点击这些按钮会显示相同的警报。我必须分别处理每个按钮的点击,因此我需要将不同的处理程序传递给这些警报中的每一个。我该怎么做?

我已经搜索了解决方案,但我找不到我要找的东西,或者它可能就在那里,但我无法理解。

以下是我的代码片段。在这个函数中,我可以获得点击了哪个按钮,但我无法弄清楚如何调用不同的处理程序并将它们传递给它们 alert.title。

我希望有人能指出我正确的方向。

@IBAction func buttonClicked(_ sender: UIButton) {

let alert = UIAlertController(title: "Select Value", message: nil, preferredStyle: .actionSheet)

for list in self.listValue {
alert.addAction(UIAlertAction(title: list.value, style: .default, handler: { _ in

// How do I call different handlers here?
// I'll need to retrieve alert.title in these handlers

}))
}

alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel, handler: nil))
self.present(alert, animated: false, completion: nil)
}

最佳答案

目前还不完全清楚你在问什么,但如果你想弄清楚按下了哪个按钮,以便你可以为每个按钮执行不同的方法,你可以这样做:

@IBAction func buttonClicked(_ sender: UIButton) {
let alert = UIAlertController(title: "Select Value", message: nil, preferredStyle: .actionSheet)
for list in self.listValue {
alert.addAction(UIAlertAction(title: list.value, style: .default, handler: { (action) in
// How do I call different handlers here?
// I'll need to retrieve alert.title in these handlers
switch action.title {
case "Value A":
print("It's Value A")
case "Value B":
print("It's Value B")
default:
print("We didn't implement anything for this value")
}
}))
}
alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertAction.Style.cancel, handler: nil))
self.present(alert, animated: false, completion: nil)
}

关于ios - 如何在 UIAlertAction 中传递多个处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59310898/

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