SwiftUI ForEach получить элемент И индекс в 2d массиве - PullRequest
0 голосов
/ 14 января 2020

Мне нужен доступ к индексу, а также к элементу в ForEach l oop.

. Пока у меня есть хранилище данных:

@Published var sevenDayReview: [[CGFloat]] = [
        [1754,1654],[1854,1687],[1985,1854],[1765,1652],[1864,1698],[1987,1654],[1865,1465]
    ]

и в моем просмотр:

ForEach(self.dataModel.sevenDayReview, id: \.self) { array in
       ForEach(array, id: \.self) { element in
             VStack {
                    ReviewChart(dataModel: CalorieViewModel(), valueHeight: element, cornerRadius: 5, color: 2 )
              }
       }
}

, который работает нормально. Но я хочу передать текущий индекс массива текущего элемента параметру color .

Справочная информация: загрузить гистограмму со значениями из хранилища данных и чередовать цвета по индексам строк.

Я не могу понять, какой лучший способ сделать это в SwiftUI.

1 Ответ

1 голос
/ 14 января 2020

Вы можете использовать другой инициал представления ForEach:

ForEach(0..<array.endIndex) { index in //inner ForEach
    VStack {
        ReviewChart(dataModel: CalorieViewModel(), 
                    valueHeight: array[index], 
                    cornerRadius: 5, 
                    color: index)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...