提问者:小点点

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


我的代码很简单:

struct ListView: View {
  var body: some View {
    ScrollView(.vertical) {
      VStack(alignment: .leading) {
        ForEach(0...10, id: \.self) { _ in
          CellView()
          Spacer()
        }
      }
    }
  }
}

struct CellView: View {
  var body: some View {
    Text("Template Text Template Text Template Text Template Text ")
  }
}

如果我对spacer()或CellView()进行注释,那么它可以正常工作

为什么会发生这种事?


共1个答案

匿名用户

它应该是foreach内的单个视图,因此将它们包装在某个堆栈中,例如

ForEach(0...10, id: \.self) { _ in
  HStack {
     CellView()
     Spacer()
  }
}