我有此代码:
VStack {
ForEach(0...2) { i in
HStack {
ForEach(0...2) { j in
Text("test")
}
}
}
}
这在两个ForEach语句中都给我带来错误Cannot convert value of type 'ClosedRange<Int>' to expected argument type 'Range<Int>'
我已经看到有关此错误的线程,并且有点了解范围函数的工作原理,但实际上却不是。我想知道如何解决此错误。
答案 0 :(得分:3)
可以使用ClosedRange
,但可以使用不同的ForEach
构造函数,提供id
,例如
VStack {
ForEach(0...2, id: \.self) { i in
HStack {
ForEach(0...2, id: \.self) { j in
Text("test")
}
}
}
}
答案 1 :(得分:2)
对于类型为..<
而不是...
的范围,可以使用Range<Index>
代替ClosedRange<Index>
VStack {
ForEach(0..<2) { i in
HStack {
ForEach(0..<2) { j in
Text("test")
}
}
}
}