#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, которые будут обновлять представления при обновлении модели.