TMLPersistentContainer

CI codecov Pod Carthage compatible Platforms License

在 Swift 中自动执行最短路径的多步 Core Data 迁移。

logo

一系列 Swift 扩展,用于 Core Data 的 NSPersistentContainerNSPersistentCloudKitContainer,可自动检测并执行多步存储迁移,使用最短的有效迁移序列。 该库支持轻量级和重量级迁移、多个存储、进度报告和可配置的日志记录。

示例

只需最小程度地替换对 NSPersistentContainer.initNSPersistentCloudKitContainer 的调用

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 的一部分进行。

文档

要求

Swift 6 或更高版本,Xcode 16 或更高版本。

该库基于 NSPersistentContainer。 最低部署目标是 iOS 12.0、macOS 10.14.6、tvOS 12.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: 6)

Carthage

github "johnfairh/TMLPersistentContainer"

贡献

欢迎贡献和反馈:打开一个 issue / johnfairh@gmail.com / @johnfairh@mastodon.social

许可证

根据 ISC 许可证分发。