gpt4 book ai didi

json - 如何在 Swift 中循环访问 Alamofire 数据响应?

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

我第一次尝试在我的项目中使用 alamofire。我有点困惑如何循环遍历我的数据响应并将我的结果存储在一个数组中。

我有一个数据模型来捕获包含 2 个属性(名称、描述)的数据。

import Foundation

class categoryModel {
var name: String?
var description: String?

init(name: String?, description: String?) {
self.name = name
self.description = description
}
}

然后我有一个 TableViewController,它创建一个 categoryModel 类型的数组。然后在我的 viewDidLoad 中调用我的 API 并捕获一些数据。这是我正在努力的部分。我想将响应值存储在数组中。

var categories = [categoryModel]()

override func viewDidLoad() {

Alamofire.request("http://my.custom.api.url", encoding: JSONEncoding.default)
.responseJSON { response in
//print(response)

if let json = response.result.value {

}


}
}

我已经打印了响应对象并得到以下内容:

SUCCESS: (
{
"category_number" = 4;
description = "";
name = "Traditional Curries";
},
{
"category_number" = 3;
description = "Traditional starters";
name = Starters;
}
)

最佳答案

请参阅 Alamofire 文档 here .正如它所暗示的那样,

var categories = [categoryModel]()

Alamofire.request("http://my.custom.api.url", encoding: JSONEncoding.default)
.responseJSON { response in
if let json = response.result.value as? [[String: AnyObject]] {
categories = json.compactMap({ return categoryModel(name: $0["name"], description: $0["description"]) })
}
}

此外,我建议使用 CategoryModel 而不是 categoryModel,即类名的 CamelCase。

关于json - 如何在 Swift 中循环访问 Alamofire 数据响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51249209/

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