我是Swift的新手。尝试在ForEach循环中使用条件时,我收到一条错误消息。我之前已经看过这件事,并在该代码上建模了我的尝试,但是却缺少了一些东西。
我知道这可行:
struct ContentView:查看{
var body: some View {
HStack {
ForEach((0...3), id: \.self) {_ in
Rectangle()
.foregroundColor(Color(.black))
.frame(width: 20, height: 20)
}
}
}
}
但是,当我尝试插入if条件时,出现错误,“类型'()'不符合'视图';只有struct / enum / class类型可以符合协议”
struct ContentView:查看{//黑色和白色正方形的水平行
var drawBlack = true
var body: some View {
HStack {
ForEach((0...3), id: \.self) {_ in
if self.drawBlack {
Rectangle ()
.foregroundColor(Color(.black))
.frame(width: 20, height: 20)
drawBlack = false
}
else {
Rectangle ()
.foregroundColor(Color(.white))
.frame(width: 20, height: 20)
drawBlack = true
}
}
}
}
}
谢谢!