У меня есть вид, где пользователь может видеть список предметов. Когда они нажимают кнопку, появляется модальное окно с выбором списка, где они могут выбирать элементы. Я хотел бы, чтобы эти варианты обновляли список в родительском представлении.
Я использую ObservedObject для SelectedItems:
class SelectedItems: ObservableObject, Hashable {
@Published var items: [Item] = []
func hash(into hasher: inout Hasher) {
hasher.combine(items)
}
init(items: [Item]) {
self.items = items
}
}
В родительском представлении я просто через l oop они:
...
@ObservedObject var selectedItems: SelectedItems
...
List(self.selectedItems.items) { item in
Text(item.name)
}
Проблема в модальном представлении:
...
@ObservedObject var selectedItems: SelectedItems
var items: [Item]
...
List(items, id: \.self, selection: selectedItems) { item in
Text(item.name)
}
.environment(\.editMode, .constant(EditMode.active))
Я убедился, что selectedIngredients
соответствует Hashable
, как требуется List Selection
, но все еще выбрасывает ряд ошибок.
Специфическая ошибка c в этом случае - Generi c параметр 'SelectionValue' could not be inferred
.
Я занимался этим пару дней, и любая помощь действительно нужно ценить!