swiftui - SwiftUI ForEach 获取二维数组中的元素和索引
问题描述
我需要访问索引以及 ForEach 循环中的元素。
到目前为止,我的数据存储中有:
@Published var sevenDayReview: [[CGFloat]] = [
[1754,1654],[1854,1687],[1985,1854],[1765,1652],[1864,1698],[1987,1654],[1865,1465]
]
在我看来:
ForEach(self.dataModel.sevenDayReview, id: \.self) { array in
ForEach(array, id: \.self) { element in
VStack {
ReviewChart(dataModel: CalorieViewModel(), valueHeight: element, cornerRadius: 5, color: 2 )
}
}
}
这工作正常。但我想将当前元素的当前数组索引传递给颜色参数。
背景:使用数据存储中的值加载条形图,并按行索引交替颜色。
我不知道在 SwiftUI 中最好的方法是什么。
解决方案
您可以使用 ForEach 视图的不同初始化:
ForEach(0..<array.endIndex) { index in //inner ForEach
VStack {
ReviewChart(dataModel: CalorieViewModel(),
valueHeight: array[index],
cornerRadius: 5,
color: index)
}
}
推荐阅读
- ios - 自 2018 年秋季以来,我在哪里可以找到 Apple 产品上的 UDID?
- big-o - 循环中数组中两个插入的大 O 时间复杂度?
- java - Java:创建多个内容窗格并在它们之间切换
- c++ - 使用 OpenCV 和 OpenGL 读取 MP4
- android - 使用 admob 展示广告是否需要获得批准的 adsense 帐户?
- firebase - Firebase 动态链接 - 批量列表
- swift - 信号量如何保持异步循环有序?
- r - 使用 tmap 制作英国犯罪数量地图
- java - 试图从一个字符串中检索第一个最长的单词,其中一个句子包含相同长度的字符串?
- python - python excel openpyxl insert_rows 样式错误