SwiftUI ForEach-Loops出现错误

时间:2020-02-20 09:46:33

标签: swift for-loop swiftui

我正在尝试在SwiftUI中构建一个ForEach()循环以构建UI元素,但是却收到了以下错误消息:

无法推断复杂的闭包返回类型;添加显式类型以消除歧义

这是我的代码:

    var body: some View {
        HStack {
            HStack {
                VStack {
                    ForEach((1...10).reversed(), id: \.self) {
                        Text("\($0)")
                        Spacer()
                    }
                    Spacer()
                }
                Spacer()
            }
            Spacer()
        }
    }

错误指向带有ForEach语句的行。我尝试遵循Paul Hudson的教程,请参见:https://www.hackingwithswift.com/quick-start/swiftui/how-to-create-views-in-a-loop-using-foreach

1 个答案:

答案 0 :(得分:1)

简而言之:从Spacer()中删除ForEachForEach期望返回类型为some View一个值。 您可以将Text()Spacer()包装到HStackVStack中,但是在这种情况下,您无法通过闭包语法({{1 }}表示法应更改为$0)。 因此下一个代码将起作用:

{ element in }