gpt4 book ai didi

swift - 在演示过程中显示 UIAlertController

转载 作者:搜寻专家 更新时间:2023-11-01 06:00:24 25 4
gpt4 key购买 nike

我正在尝试紧接着显示两个不同的警报。第一个是加载指示器。第二个是警告,告诉用户他们在 UDP 消息后所做的事情是否成功。为了演示目的,我简化了代码。

我的问题是,虽然我在调用第二个警报之前关闭了 loadingAlert,但我仍然收到错误消息:

警告:在演示过程中尝试在 ViewController 上显示 UIAlertController!

我的第二个警报从未显示。

这是我的 Swift 4 代码:

func getUpdate()
{
let loading = alert(title: "Performing Task...")

DispatchQueue.global(qos: .userInitiated).async {
let server:UDPServer=UDPServer(address:"0.0.0.0", port:5006)
let (data,_,_) = server.recv(1024)

DispatchQueue.main.async
{
loading.dismiss(animated: false, completion: nil)

OperationQueue.main.addOperation
{
alert(title: "How can I show this alert?")
}
}
}
}

func alert(title:String) -> UIAlertController
{
let alertController = UIAlertController(title: title, message: "", preferredStyle: UIAlertControllerStyle.alert)
...
rootViewController?.present(alertController, animated: true, completion: nil)

return alertController
}

这样做的最佳方式是什么?

最佳答案

dismiss 调用中使用 completion 参数:

DispatchQueue.main.async{
loading.dismiss(animated: false) {
OperationQueue.main.addOperation {
alert(title: "How can I show this alert?")
}
}
}

关于swift - 在演示过程中显示 UIAlertController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54186867/

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