【发布时间】:2020-02-25 04:41:47
【问题描述】:
我有一个正在循环的数组数组。该数组的结构代表一年中的 4 个季度:
Q0 一月、二月、三月
第一季度 4 月、5 月、6 月
第 2 季度 7 月、8 月、9 月
10 月第 3 季度,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 循环使用范围作为其数据集,则有一种方法可以检索索引,但如果数据集是数组,则我不会。
【问题讨论】:
-
@JoakimDanielson 这个答案有效,因为 ForEach 循环的数据集是一个范围,而不是一个数组。它实际上并不检索数组的索引。
-
@JoakimDanielson 是的,但我需要访问 self.quarters 中的对象,而不仅仅是范围。如果我使用 self.quarters.indices 只会给我一个范围,而不是访问 self.quarters 的对象,对吗?
-
哦,别管我以前的cmets了。我完全错过了你有一个数组数组。难怪我们互相交谈。对不起。
-
我仍然没有真正支持你想要做什么,是为
quarters数组中的每个子数组输出 Q1、Q2、Q3、Q4,还是你想访问其中的某些内容子数组(即 Month 实例)? -
@JoakimDanielson 请参阅编辑。
标签: ios arrays swift foreach swiftui