首页 > 解决方案 > 在表/集合视图控制器及其关联的 diffable 数据源子类之间共享数据模型的好方法是什么?

问题描述

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

在两者之间共享数据模型的推荐方法是什么,例如,diffable 数据源中的单元格删除委托回调可以反映模型属性和 CloudKit 数据库的变化。

标签: iosuitableviewuikituitableviewdiffabledatasource

解决方案


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

当删除委托被命中时,你需要在你的 VM/Presenter 上调用一个删除函数,它会更新这个模型,将它保存到 CloudKit,然后触发 DataSource 更新

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


推荐阅读