Как я могу заставить мой вид сетки SwiftUI работать? - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь создать вид сетки в SwiftUI, состоящий из различного количества элементов вида. Я использовал этот поток как ориентацию: UICollectionView и SwiftUI?

У меня есть коллекция, в которой хранятся мои элементы, разбитые на фрагменты по 3 каждый:

let test = allTheRewards.filter({ !$0.completed }).chunked(into: 3)

Тогда в моем «материальном представлении» я перебираю их так, чтобы передать данные в дочерний элемент представления: использование индексов ([idx] [index]).

Компилятор не может проверить это выражение в разумные сроки; попробуйте разбить выражение на отдельные подвыражения

Это прекрасно работает, когда я использую его только несколько раз в вызове для передачи своих аргументов, но это не работает с текущими 6 раз. Время компиляции сильно увеличивается, и в конечном итоге это терпит неудачу. Поэтому я думаю, что это может быть довольно неэффективным способом go об этом. Но я не знаю, что будет лучшим решением. Любые идеи?

Дополнительная информация: Нет проблем с использованием количества индексов в отдельных элементах, например:

Text("\(self.uncompletedRewards[idx][index].name)")
Text("\(self.uncompletedRewards[idx][index].description)")
Text("\(self.uncompletedRewards[idx][index].shape)")
Text("\(String(describing: (self.uncompletedRewards[idx][index].bgStart)))")
Text("\(String(describing: (self.uncompletedRewards[idx][index].bgEnd)))")
Text("\(String(self.uncompletedRewards[idx][index].completed))")

Я просто не могу собрать все это в один вызов ...

1 Ответ

1 голос
/ 21 февраля 2020
TestReward(model: model, row: row, column: column)

или

TestReward(row: row, column: column).environmentObject(model)

должны решить вашу проблему и значительно повысить читаемость (и последующее обслуживание) вашей кодовой базы.

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