SwiftUI ForEach循环出现错误
我试图在SwiftUI中构建一个ForEach()-循环以构建UI元素,但收到以下错误消息: 无法推断复杂的闭包返回类型;添加显式类型以消除歧义 这是我的密码:SwiftUI ForEach循环出现错误,swift,for-loop,swiftui,Swift,For Loop,Swiftui,我试图在SwiftUI中构建一个ForEach()-循环以构建UI元素,但收到以下错误消息: 无法推断复杂的闭包返回类型;添加显式类型以消除歧义 这是我的密码: var body: some View { HStack { HStack { VStack { ForEach((1...10).reversed(), id: \.self) {
var body: some View {
HStack {
HStack {
VStack {
ForEach((1...10).reversed(), id: \.self) {
Text("\($0)")
Spacer()
}
Spacer()
}
Spacer()
}
Spacer()
}
}
错误指向ForEach语句所在的行。我试图遵循Paul Hudson的教程,请参见:简而言之:从
ForEach
中删除Spacer()
。
ForEach
希望返回类型为some视图的one值。
您可以将Text()
和Spacer()
包装成HStack
或VStack
,但在这种情况下,您无法通过闭包语法访问数组中的每个数字($0
符号应更改为{element in}
)。
因此,下一个代码将起作用:
var主体:一些视图{
HStack{
HStack{
VStack{
ForEach((1…10).reversed(),id:\.self){中的数字
HStack{
文本(“\(数字)”)
垫片()
}
}
垫片()
}
垫片()
}
垫片()
}
}
这解决了我的问题,谢谢。我刚进入SwiftUI,有些错误很奇怪。