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 ")
  }
}

Но показывает ошибку: https://i.stack.imgur.com/JLziT.png

Если я прокомментирую Spacer() or CellView(), это хорошо работает

С другой стороны, у меня есть другой код в другом месте, который отлично компилируется: https://i.stack.imgur.com/bMJoD.png

Почему это могло случиться?

1 ответ

Решение

Должен быть единый вид изнутри ForEach, так что заверните их в какую-нибудь стопку, например

ForEach(0...10, id: \.self) { _ in
  HStack {
     CellView()
     Spacer()
  }
}
Другие вопросы по тегам