CoreDataImportKit 0.3.0

CoreDataImportKit 0.3.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2017年1月
SwiftSwift 版本3.0
SPM支持 SPM

Ryan Mathews 维护。



  • Ryan Mathews

CoreDataImportKit

CoreDataImportKit (CDI) 是一个无装饰的、100% Swift、CoreData 导入器。您可以在您的 CoreData 文件(*.xcdatamodeld)中轻松定义您的映射(即 json 数据如何与您的 CoreData 属性相关联)。无需额外的代码。

没有额外的 CoreData 辅助功能。如果需要,请查看 MagicalRecord

CDI 的目标是保持超级精简且易于维护。CDI 希望成为实现导入项目中 Swift 编写的 最佳 框架。

安装

建议通过 CocoaPods 将其添加到您的项目中。只需将以下内容添加到您的 Podfile 中

use_frameworks!

target `YourProject` do
    pod 'CoreDataImportKit'
end

用法

在您的 xcdatamodeld 文件中,您需要在实体的用户信息中定义 relatedByAttribute。这应该是用于唯一标识实体的属性名称。在关系型数据库中,这将是对应的主键。

从字典(例如您 api 的 json 数据)到您的实体属性的默认映射将基于属性名称。如果两者不同,则可以在属性的 User Info 中定义 mappedKeyName。这也适用于关系。

为了运行导入,您需要两个东西:一个映射和一个导入器。设置完毕后,只需调用 importRepresentation() 来导入一切。以下是 Swift 中的实现方式

let mapping = CDIMapping(entityName: "Company", inManagedObjectContext: localContext)
let cdiImport = CDIImport(externalRepresentation: array, mapping: mapping, context: localContext)
cdiImport.importRepresentation()

在这个例子中,array 是一个字典数组,每个字典都定义了一个 Company。仅此而已。

可选地,您可以使用此助手

Company.cdiImportFromRepresentation(externalRepresentation: array, inContext: localContext)

请查看维基百科(即将推出)以了解更多详细信息。您可以了解更多关于表示的信息,并学习如何创建自己的导入策略。

贡献

认为您有使导入器更快的方法?您有使代码更易于理解的方法?想要帮助改进 ROADMAP?请考虑提出拉取请求。

在编写代码之前,如果您想要讨论所做的更改,请创建一个GitHub问题来讨论潜在的更改。更改是受欢迎的,只需确保它通过测试,并且所有现有的测试仍然通过。

额外内容

CoreDataImportKit由Ryan Mathews编写,您可以在Twitter上关注我。