gpt4 book ai didi

ios - 停止任务直到 AlertController Action 发生 Swift

转载 作者:可可西里 更新时间:2023-11-01 01:35:37 26 4
gpt4 key购买 nike

我尝试从 presentcompletion 参数执行一个任务,这样它只会在 UIAlertController 关闭后执行所需的功能。但是,在警报中采取操作之前调用了该函数。我如何等待执行功能直到采取行动?

let alert = UIAlertController(title: "Wild Card Played", message: "Choose your suit", preferredStyle : .alert);
for suit in suits {
alert.addAction(UIAlertAction(title: suit, style: .default, handler: crazyEightPlayed))
}
self.present(alert, animated: true, completion: cpuTurn) //Upon completion call the cpuTurn() function

最佳答案

当前的问题是 cpuTurn 在向用户显示警报时被调用,而不是在用户按下“确定”时被调用。正如您在 documentation here 中看到的那样self.present 方法中的完成函数是“在演示结束后[执行]。此 block 没有返回值,也没有参数。您可以为此参数指定 nil。”为用户显示警报,第一个 UIViewController 说“我已完成显示警报”,然后运行 ​​cpuTurn 函数。

您需要将代码放入您似乎已经拥有的 UIAlertAction 的处理程序中。您应该将 cpuTurn 调用移至 crazyEightPlayed 函数(或至少从 crazyEightPlayed 调用 cpuTurn)

关于ios - 停止任务直到 AlertController Action 发生 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38062001/

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