Чтение 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?

Еще не нашли документацию по наилучшей практике.

0 ответов

Другие вопросы по тегам