Каков хороший подход к совместному использованию модели данных между контроллером представления таблицы / коллекции и связанным с ним подклассом источника диффузных данных?
У меня есть
UITableViewController
с объявленным в нем свойством модели. При переходе с
UITableViewDataSource
соответствие протокола подклассу
UITableViewDiffableDataSource
вне контроллера табличного представления модель больше не доступна в источнике данных.
Каков был бы рекомендуемый подход к совместному использованию модели данных между ними, например, обратный вызов делегата для удаления ячейки в источнике данных для различий может отражать изменение свойства модели и базы данных CloudKit.
1 ответ
Я считаю, что это действительно зависит от выбранной вами архитектуры. Но в целом, если у вас есть ViewModel(в MVVM) или Presenter(в MVP/VIPER), вы должны сохранить свою модель там, а затем привязать ее к DataSource.
При попадании в делегат удаления вам необходимо вызвать функцию удаления на вашей виртуальной машине / презентаторе, которая обновит эту модель, сохранит ее в CloudKit, а затем запустит обновление DataSource
Если вы хотите получить более ориентированный на код ответ, поделитесь, пожалуйста, примером вашего кода, и я буду рад помочь вам с этим.