gpt4 book ai didi

ios - 无法将来自 Alamofire GET 请求的 JSON 数据保存到函数的局部变量

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

我正在尝试保存来自 Alamofire GET 请求的数据。但是当我让count等于value方法给的json数据时,我还是返回0.. 把GET请求给的值保存到局部变量最好的方法是什么?

func loadInstallerCount() -> Int {
var count: Int = 0
Alamofire.request(URL, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { response in
//print("String:\(String(describing: response.result.value))")

if let data = response.result.value{
let jsonData = data as! NSDictionary
if(!(jsonData.value(forKey: "error") as! Bool)) {
//getting the user from response
count = jsonData.value(forKey: "installationcount") as! Int
}else{
//error message in case of invalid credential
print("couldn't get count")
}
}
}
return count
}

最佳答案

为此目的使用闭包,因为它是异步的。示例:

func callTheFunction(){
loadInstallerCount { (count) in
print(count)
}
}

func loadInstallerCount(result:(_:Int) -> Void) {
var count: Int = 0
Alamofire.request(URL, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { response in
//print("String:\(String(describing: response.result.value))")

if let data = response.result.value{
let jsonData = data as! NSDictionary
if(!(jsonData.value(forKey: "error") as! Bool)) {
//getting the user from response
count = jsonData.value(forKey: "installationcount") as! Int
}else{
//error message in case of invalid credential
print("couldn't get count")
}
result(count)
}
}

}

关于ios - 无法将来自 Alamofire GET 请求的 JSON 数据保存到函数的局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50263973/

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