gpt4 book ai didi

ios - 想要将 API 数据显示到标签(Swift、Alamofire)

转载 作者:行者123 更新时间:2023-11-30 12:28:40 26 4
gpt4 key购买 nike

我正在使用 Alamofire 调用 Riot API,我想显示它调用的信息。我的 get 请求正在运行,我只是不知道如何链接到应用程序中的标签。我已经包含了代码的屏幕截图!

这只是我正在创建的一个简单的应用程序!

func callAlamo(url: String){
Alamofire.request(url).responseJSON(completionHandler: {
response in
self.pasrseData(JSONData: response.data!)
})
}

func parseData(JSONData: Data){
do {
var readableJSON = try JSONSerialization.jsonObject(with: JSONData, options: .mutableContainers) as? JSONStandard
print(readableJSON)
}

catch {
print(error)
}
}

最佳答案

不需要序列化,因为 Alamofire 的 responseJSON 已经完成了。由于我不知道 JSON 对象内部有什么,所以假设您返回了年龄和姓名:

struct InfoModel { // this struct will decompose our JSON object from the response that we get 
var age:Int
var name:String
init(json:Dictionary<String,Any>?) {
guard let dict = json,
let age = dict["age"] as? Int,
let name = dict["name"] as? String
else {fatalError() }
self.age = age
self.name = name

}
}

func parse(url: String, completion:@escaping (InfoModel)-> Void) {
Alamofire.request(url).responseJSON {response in
// get the JSON dictionary
if let JSON = response.result.value {
// no need to decompose your object since your struct does it inside of its initializer
completion(InfoModel(json: JSON as? Dictionary<String, Any>))
}
}
}
// call this function anywhere
parse(url: "") { (m:InfoModel) in
print("age= \(m.age), name= \(m.name)")
// now populate your label
labelOne.text = "\(m.age)"
labelTwo.text = name
}

关于ios - 想要将 API 数据显示到标签(Swift、Alamofire),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43859182/

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