gpt4 book ai didi

swift - uiAlertController 有时不解雇

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

我有一个登录按钮,它是 http 获取服务 我运行一个弹出警报等待用户点击按钮并在我获取数据时关闭它。

但有时加载警报很糟糕。在 iPhone 5s 上测试它但在模拟器上正常工作。我做错了什么??

    @IBAction func loginButton(_ sender: Any) {


phone=phoneText.text!

if (validation(phone: phone)){

popUpLoading()


guard let url=URL(string: address+"uSers/checkUser/\(phone)") else{return}


print(url)
var requst=URLRequest(url: url)

requst.httpMethod="GET"


URLSession.shared.dataTask(with: requst, completionHandler: { (data, response, error) in

if let response=response{
//print(response)
}
if let data=data{



do{


let json=try? JSONSerialization.jsonObject(with: data, options:JSONSerialization.ReadingOptions.mutableLeaves) as! [String:Any]

print("jsom : ",json)

DispatchQueue.main.async {

self.popalert.dismiss(animated: true, completion: {

let data=json?["data"] as! String

print("data : ",data)

}
}

popalert 变量声明为全局变量

这是等待的弹出警报:

func popUpLoading(){


DispatchQueue.main.async {

self.popalert = UIAlertController(title: "", message: "wait...", preferredStyle: .alert)

let loadingIndicator = UIActivityIndicatorView(frame: CGRect(x: 10, y: 5, width: 50, height: 50))
loadingIndicator.hidesWhenStopped = true
loadingIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
loadingIndicator.startAnimating();
self.present(self.popalert, animated: true, completion: nil)

self.popalert.view.addSubview(loadingIndicator)


}

}

最佳答案

你已经调用了 dismiss 函数,它是,

(self.popalert.dismiss(动画:真,完成:{)

在响应调用中。因此,仅当您从 URL 获得正确响应时,警报 View 才会被隐藏。

您应该在这两种情况下隐藏警报 View - 所以对 if 语句使用 else 条件并关闭 alertView

关于swift - uiAlertController 有时不解雇,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51570326/

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