gpt4 book ai didi

ios - JSON访问数组内的多个实例

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

我正在使用 JSONDecoder 通过 API 访问 JSON 数据。在这个 JSON 数据中有几个 [arrays]。我遇到了访问出现 key 的每个实例的问题。

代码如下:

var details = [Details]()
var production = [Production]()

struct Details: Codable {
let title: String
let poster_path: String?
let id: Int?
let production_companies: [Production]
}

struct Production: Codable {
let name: String
}


let task = session.dataTask(with: request, completionHandler: { (dataOrNil, response, error) in
if let data = dataOrNil {
do { let details = try! JSONDecoder().decode(Details.self, from: data)

let production = details.production_companies
print(production)

}
}

})

这是 print(production) 打印到控制台的内容:

[Film_Bee.DetailsView.Production(name: "Columbia Pictures"), Film_Bee.DetailsView.Production(name: "Marvel Entertainment"), Film_Bee.DetailsView.Production(name: "Sony Pictures")]

我想做的是访问数组中的每个 name。我知道要访问第一个我可以使用 production.first?.name 但如果我不确定如何访问每个标签以放入单个标签。

最佳答案

Prashant 点了。我只是额外添加了一点可能对您有所帮助。

我相信你知道像 for 或 forEach 这样的快速循环来查看你的字符串列表

production.forEach { model in
print(model.name)
}

对于你的问题,你需要加入你的字符串列表。当您需要更新 UI 时,请使用 DispatchQueue。

let productionList = production.map{$0.name}
let strings = productionList.joined(separator: " ") //use "\n" if you wish new line
print("stringList: \(strings)")
DispatchQueue.main.async() {
yourLabel.text = strings
}

关于ios - JSON访问数组内的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52789479/

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