Модель представления SwifUI MVVM от родителя к потомку

#ios #swift #core-data #swiftui

Вопрос:

Мне нужна помощь. У меня есть иерархическая настройка в моем приложении:

ParentView -> ChildView -> ChildOfChildView

Я установил ядро ParentViewModel .. но когда дело доходит до представлений ребенка (и более поздних деталей ребенка) — мне неясно, как это структурировать.

В частности, я думаю о взаимодействии с CoreData здесь. Кажется неправильным, чтобы Родитель управлял всем, даже если данные связаны (через отношения CoreData).

В моей базовой модели представления, от которой наследуют все остальные, я в любом случае устанавливаю общий контекст:

 class ObservableCollectionViewModel<T>: ObservableObjec where T: NSManagedObject {
...
...
   public static var context: NSManagedObjectContext
}
 

.. таким образом, у меня есть легкий доступ к CoreData. Что мне непонятно, так это то, что я должен передавать между взглядами. Должен ли я передавать модели просмотра по кругу? Или objectID значения CoreData и повторная выборка в дочерних представлениях?

Может ли кто-нибудь помочь указать мне в правильном направлении, как лучше всего это сделать?

Комментарии:

1. Объекты CoreData являются наблюдаемыми объектами, поэтому вы можете передавать их просто по ссылке и использовать в обернутых свойствах ObservedObject, которые будут обновлять представления при обновлении модели.