gpt4 book ai didi

swift - 返回从 HTTP 请求中检索到的值的方法

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

<分区>

我有一个方法可以执行 HTTP 请求并从网站检索数据,它按预期工作,我正在正确获取数据。我无法做的是在调用方法时返回检索到的值。

这是代码...

func myFunction(zipCode: String)->String{
var myData:String = ""

let siteLink = "http://example.com/zip/" + zipCode
let url = URL(string: siteLink)

let task = URLSession.shared.dataTask(with: url!) { data, response, error in
guard error == nil else {
print(error!)
return
}
guard let data = data else {
print("Data is empty")
return
}
let json = try! JSONSerialization.jsonObject(with: data, options: [])
guard let jsonArray = json as? [[String: String]] else {
return
}
myData = jsonArray[0]["MyPropertyName"]!
// Here, myData outputs, "Info for zip code 52484 from HTTP request"
}

task.resume()

return myData
}

当我调用 myFunction 时,我得到空字符串...

myFunction(zipCode: "52484")// Outputs an empty string

我期望看到的是 “来自 HTTP 请求的邮政编码 52484 的信息” 的返回值,因为 myData 变量在 let 中被修改task = 在返回调用之前。我尝试在 let task = 中返回,但这不能在 Swift 中完成。

如何在调用 myFunction 时返回检索到的值?

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