Чтение EnvironmentObject<T> вне View.body
Я создал объект BindableObject, связанный с моим пользовательским представлением.
Я хочу обновить массив предметов в этом классе
// in my vm:
class ViewModel {
func fetched() {
listView.listData.items = viewModel.listItems
}
}
final class ListData: BindableObject {
var didChange = PassthroughSubject<ListData, Never>()
var items: [ListItem] = [] {
didSet {
didChange.send(self)
}
}
}
У меня есть viewModel, где я делаю выборку, потому что мне не нужно внедрять сервис в этот класс ListData. Это потому, что я не хочу ничего делать, я хочу сохранить это в своей модели представления.
Но когда я пытаюсь обновить ListData.Items в моей виртуальной машине, я получаю эту ошибку: Чтение EnvironmentObject вне View.body: file
Вам разрешено обновлять только эту переменную внутри тела этого нового класса представления? В этом случае вы предполагаете сделать все свои сетевые вещи внутри BindableObject?
Еще не нашли документацию по наилучшей практике.