gpt4 book ai didi

iOS Swift 3 - 提交后无法停止 UIActivityIndi​​catorView

转载 作者:行者123 更新时间:2023-12-01 18:40:24 25 4
gpt4 key购买 nike

我有一个提交按钮,通过 HTTP 提交电子邮件和密码以进行验证在 JSON格式,但即使应用程序收到来自服务器的响应,指示器 View 也不会停止。

    @IBAction func signInButtonAction(_ sender: UIButton) {
let validated = validateEmailAddressTextField()
if validated {
let emailAddress = emailAddressTextField.text
let password = passwordField.text

let url:URL = URL(string: "http://localhost:8080/app/user/signin")!
let session = URLSession.shared

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.allHTTPHeaderFields = ["Content-Type": "application/json"]
request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData

let user = User(emailAddress: emailAddress!, password: password!)
let requestJSON = careGiver.toJSON()

request.httpBody = requestJSON?.data(using: String.Encoding.utf8)
let indicator = UIActivityIndicatorView(activityIndicatorStyle: .gray)
indicator.center = view.center
view.addSubview(indicator)
indicator.startAnimating()

DispatchQueue.main.asyncAfter(deadline: .now() + 0.0) {
let task = session.dataTask(with: request as URLRequest) {
(
data, response, error) in

guard let data = data, let _:URLResponse = response, error == nil else {
print("error")
return
}
let dataString = String(data: data, encoding: String.Encoding.utf8)
print(dataString)
indicator.stopAnimating()
}
task.resume()
}
}
}

当我单击“提交”按钮时,我会在按钮顶部看到一个指示器 View ,但它不会停止并消失。

代码有什么问题吗?

我正在使用 Swift 3Xcode 8 .

谢谢。

最佳答案

indicator.stopAnimating()
尝试在主线程上运行这行代码:

DispatchQueue.main.async {
indicator.stopAnimating()
}

关于iOS Swift 3 - 提交后无法停止 UIActivityIndi​​catorView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44169041/

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