gpt4 book ai didi

ios - 如何获取 ForEach 循环内项目的索引?

转载 作者:行者123 更新时间:2023-11-28 05:35:59 24 4
gpt4 key购买 nike

我有一个正在循环的数组数组。该数组的结构表示一年中的 4 个季度:

Q0一月、二月、三月
Q1 四月、五月、六月
Q2 7月、8月、9月
Q3 10月、11月、12月

@State var quarters: [[Month]] = [[.init(name: "January"),.init(name: "February"),.init(name: "March")],
[.init(name: "April"), .init(name: "May"), .init(name: "June")],
[.init(name: "July"),.init(name: "August"),.init(name: "September")],
[.init(name: "October"), .init(name: "November"), .init(name: "December")]]

在下面的 HStack 中,我试图附加 quarter 的索引,以便我以 Q0、Q1、Q2、Q3 结尾

VStack {

ForEach (self.quarters, id: \.self) { quarter in
VStack {
Spacer()
HStack {

Text("Q\(quarter.index)")
.font(.system(size: 40, weight: .black, design: .rounded))

}
}
}
}

这没有用。有没有办法在这里获取我的 ForEach 循环数组内的数组索引?我知道如果 ForEach 循环使用一个范围作为它的数据集,有一种方法可以检索索引,但如果数据集是一个数组,我就不会。

最佳答案

你可以这样使用枚举数组:

   struct TempView: View{

@State var quarters: [[Month]] = [[.init(name: "January", products: ["1", "2"]),.init(name: "February", products: ["1", "2"]),.init(name: "March", products: ["1", "2"])],
[.init(name: "April", products: ["1", "2"]), .init(name: "May", products: ["1", "2"]), .init(name: "June", products: ["1", "2"])]]

var body: some View {

ForEach (self.quarters.indices , id: \.self) { (index) in

VStack {
Spacer()
HStack {
Text("Q\(index)")
.font(.system(size: 40, weight: .black, design: .rounded))
Button("TestButton",action: {
self.quarters.append([.init(name: "January", products: ["1", "2"]),.init(name: "February", products: ["1", "2"]),.init(name: "March", products: ["1", "2"])])
})
}
Spacer()
}
}

}}

关于ios - 如何获取 ForEach 循环内项目的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58615941/

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