Сначала вам нужно разделить массив данных на куски, используя это расширение:
extension Array {
func chunked(into size: Int) -> [[Element]] {
return stride(from: 0, to: count, by: size).map {
Array(self[$0 ..< Swift.min($0 + size, count)])
}
}
}
, затем вы можете установить размер массива:
let chunksResult = datastore.datacard.chunked(into: 4)
Для пользовательского интерфейса Попробуйте это
VStack {
ForEach(chunksResult) { rowData in
HStack {
ForEach(rowData) { columnData in
MyView()
}
}
}
}
это пример кода, который нужно протестировать в Xcode, я просто пишу код, чтобы понять, как вы можете им управлять