在表/集合视图控制器及其关联的可扩散数据源子类之间共享数据模型的好方法是什么?

问题描述

我有一个UITableViewController,其中声明了模型属性。当从UITableViewDataSource协议一致性迁移到表视图控制器外部的UITableViewDiffableDataSource子类时,无法在数据源中访问该模型。

什么是在两者之间共享数据模型的推荐方法,所以说可扩散数据源中的单元格删除委托回调可以反映出模型属性和CloudKit数据库中的更改。

解决方法

我相信这实际上取决于您选择的架构。 但是一般来说,假设您拥有ViewModel(在MVVM中)或Presenter(在MVP / VIPER中),则应将模型保留在那里,然后将其绑定到DataSource。

点击删除代表后,您需要在VM / Presenter上调用删除函数,这将更新此模型,将其保存到CloudKit,然后触发数据源更新

如果您想获得更多面向代码的答案,请分享您的代码示例,我很高兴为您提供帮助。