Каков хороший подход к совместному использованию модели данных между контроллером представления таблицы / коллекции и связанным с ним подклассом источника диффузных данных?

У меня есть UITableViewControllerс объявленным в нем свойством модели. При переходе с UITableViewDataSource соответствие протокола подклассу UITableViewDiffableDataSource вне контроллера табличного представления модель больше не доступна в источнике данных.

Каков был бы рекомендуемый подход к совместному использованию модели данных между ними, например, обратный вызов делегата для удаления ячейки в источнике данных для различий может отражать изменение свойства модели и базы данных CloudKit.

1 ответ

Я считаю, что это действительно зависит от выбранной вами архитектуры. Но в целом, если у вас есть ViewModel(в MVVM) или Presenter(в MVP/VIPER), вы должны сохранить свою модель там, а затем привязать ее к DataSource.

При попадании в делегат удаления вам необходимо вызвать функцию удаления на вашей виртуальной машине / презентаторе, которая обновит эту модель, сохранит ее в CloudKit, а затем запустит обновление DataSource

Если вы хотите получить более ориентированный на код ответ, поделитесь, пожалуйста, примером вашего кода, и я буду рад помочь вам с этим.

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