TMLPersistentContainer
Swift的自动最短路径多步Core Data迁移。
一组Swift扩展,用于Core Data的NSPersistentContainer
和NSPersistentCloudKitContainer
,它可以自动检测和执行使用最短有效迁移序列的多步存储迁移。该库支持轻量级和重量级迁移、多个存储、进度报告和可配置的日志。
示例
最小限度地替换对NSPersistentContainer.init
或NSPersistentCloudKitContainer
的调用
container = PersistentCloudKitContainer(name: "MyStore",
managedObjectModel: model)
可选的附加参数可以启用更多功能
container = PersistentContainer(name: "MyStore",
managedObjectModel: model,
bundles: [Bundle.main, myResBundle],
modelVersionOrder: .list("V_One", "V_Two", "V_Six"),
logMessageHandler: myLogHandler)
container.migrationDelegate = self
所有迁移都作为NSPersistentContainer.loadPersistentStores
的一部分发生。
文档
- 用户指南和API文档在线。
- 或在本地项目文档夹的docs/文件中。
- Dash等工具的Docset在docs/docsets/TMLPersistentContainer.tgz
- 阅读
TestSimpleMigrate.testCanMigrateV1toV3inTwoSteps
以获得端到端示例。
需求
Swift 5及更高版本,Xcode 10.2及更高版本。
- 查看swift31分支以获取Swift 31版本。
- 查看swift4分支以获取Swift 4版本。
- 查看swift41分支以获取Swift 4.1版本。
该库基于NSPersistentContainer
,因此需要最低部署目标为iOS 10.0,macOS 10.12,tvOS 10.0或watchOS 3.0。
PersistentCloudKitContainer
类基于NSPersistentCloudKitContainer
,需要更低的部署目标为iOS 13.0,macOS 10.15,tvOS 13.0或watchOS 6.0。
无额外软件依赖。
安装
CocoaPods
pod 'TMLPersistentContainer'
Swift包管理器
.Package(url: "https://github.com/johnfairh/TMLPersistentContainer/", majorVersion: 5)
Carthage
github "johnfairh/TMLPersistentContainer"
贡献
欢迎贡献力量和反馈:打开一个问题 / [email protected] / twitter @johnfairh
许可协议
根据ISC许可协议分发。