Как использовать Foreach на просмотре в SwiftUI? - PullRequest
1 голос
/ 03 февраля 2020

Я разрабатываю свое первое iOS приложение, используя Xcode 11.3 и Swift5.

Но я застрял в использовании ForEach on view.

Я хочу поставить определенное значение struct в ZStack, используя Foreach, но все равно получаю ошибки.

Error : Unable to infer complex closure return type; add explicit type to disambiguate

Я не знаю, как решить эту проблему. Вы можете мне помочь?

/* Struct I want to put in */
struct Verses: Identifiable{
    var id: Int
    var verse : Int
}
/* I want to load all values from struct using foreach in view. */
        ZStack {
            ForEach(controller.verses) { w in              <- Here is where I get error.

                Rectangle()
                    .foregroundColor(Color.white)
                .cornerRadius(28)
                    .opacity(0.4)
                    .offset(x:0, y:68)
                    .frame(width:290, height:280)

                CardView(date: w.date)
                .gesture(DragGesture()
                .onChanged({ (value) in
......


1 Ответ

1 голос
/ 03 февраля 2020

ForEach строка должна быть представлена ​​ single View, поэтому вам нужно что-то вроде следующего (все же я не уверен в типе контейнера, но только для примера)

ForEach(controller.verses) { w in
  ZStack {
    Rectangle()
        .foregroundColor(Color.white)
    .cornerRadius(28)
        .opacity(0.4)
        .offset(x:0, y:68)
        .frame(width:290, height:280)

    CardView(date: w.date)
    .gesture(DragGesture()
    .onChanged({ (value) in

    ...
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...