大佬教程收集整理的这篇文章主要介绍了从 ForEach 循环创建数组,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想从 JsON 数据而不是下面的硬编码数据创建一个新数组
let data: [DataPoint] = [
.init(value: 20,label: "1"),.init(value: 30,label: "2")
]
barChart(dataPoints: data))
使用 ForEach
循环从 Json 中检索每个数据,但我不想为每个数据生成多个条形图
let newArraydata: [DataPoint]
ForEach(Json.data){ chart in
let data: [DataPoint] = [
.init(value: Double(chart.value),label: chart.label)
]
// barChart(dataPoints: data))
}
barChart(dataPoints: newArraydata))
预期的数组输出
[
.init(value: 20,label: "2")
]
如何使用 ForEach
循环创建新数组以填充图表数据
试试这个游乐场:
import UIKit
let jsonStr = """
[
{
"value": 20,"label": "1"
},{
"value": 30,"label": "2"
}
]
"""
struct DataPoint: Codable {
let value: Int
let label: String
}
let jsonData = jsonStr.data(using:.utf8)!
do {
let points = try JSONDecoder().decode([DataPoint].self,from: jsonData)
print(points)
} catch {
print(error)
}
这向您展示了如何将您的 JSON 正确解析为 DataPoint
数组,我想您可以轻松地将其转换为 BarChart
。符合 Codable 真的没问题,这是快速解析 JSON 的 Swift 方式(顺便说一句,错误消息非常好)。
你应该能够做到:
BarChart(dataPoints: json.data))
以上是大佬教程为你收集整理的从 ForEach 循环创建数组全部内容,希望文章能够帮你解决从 ForEach 循环创建数组所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。