尝试在Swift ForEach构造中嵌套条件时出错

时间:2020-05-16 17:11:10

标签: ios swift foreach swiftui

我是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
            }
        }
    }
}

}

谢谢!

0 个答案:

没有答案