DTModelStorage
因为该项目的主要目标是提供 DTCollectionViewManager 和 DTTableViewManager 的存储类和映射/事件功能,您可能首先需要阅读这两个框架最初存在的理由。例如,在 DTCollectionViewManager 的 Why 文档中有描述。
需求
- Xcode 13+
- Swift 5.3+
- iOS 11+ / tvOS 11+ / macCatalyst 13+
安装
Swift 包管理器
- 将包添加到项目设置 -> Swift 包
CocoaPods
pod 'DTModelStorage'
存储类
存储类的目的是为 UITableView/UICollectionView 提供数据源模型。以 UITableView 为例,它的数据源方法主要涉及以下内容
- 分区
- 分区中的项
- 分区头和尾/辅助视图
Storage
协议基于这些元素定义了所有存储类共有的接口。扩展 Storage
协议的 SupplementaryStorage
协议提供了对辅助模型/头部/尾部的访问方法。
以下是 DTModelStorage
提供的五个 Storage
实现,以及对它们详细文档的链接
- 内存存储
- 单分区存储
- 适用于可变数据的存储(iOS 13 / tvOS 13 及更高版本)
- CoreData 存储
- Realm 存储
请注意,所有五种存储支持处理辅助模型同一接口——辅助提供者。您可以在 专门的文档 中了解更多。
ViewModel 映射和事件响应
ViewModelMapping
和 EventReaction
类是数据模型和可重用视图之间映射系统的一部分。您可以在DTCollectionViewManager 映射文档中了解它们的使用方法和原因,以及DTCollectionViewManager 事件文档