Version Carthage compatible Platform Build Status Swift 4 codecov License
DataModelKit is a simple and light framework to parse and read *.xcdatamodel files. It provides an API to navigate and explore DataModel
It's used in DataModelGen tools. (available soon)
import DataModelKit static let path = "Project/Ressources/Sample.xcdatamodel" let model = try? DataModel(with: DataModelKitTests.pathTest) print(model.entities)
EasyRealm is available through CocoaPods, Carthage and SPM.
use_frameworks! pod "DataModelKit"
github 'PoissonBallon/DataModelKit'
dependencies: [ .package(url: "https://github.com/PoissonBallon/DataModelKit.git", .upToNextMinor(from:"1.0.0")) ],
DataModelKit provide somes structs with attribute to exploite your DataModel
It is the root object of your DataModel
public struct DataModel { public let path: Struct /// Path of the original file.xcdatamodel public let entities: [Entity] /// Parsed model's entities public let documentVersion: String /// Version of file.xcdatamodel public let systemVersion: String /// System version of file.xcdatamodel public let minimumToolsVersion: String /// Minimum tools version of file.xcdatamodel public let lastSavedToolsVersion: String /// Last saved tools version of file.xcdatamodel }
public struct Entity { public let name: String /// public let userInfos: [UserInfo] public let attributes: [Attribute] public let relationships: [Relationship] }
public struct Relationship { public let name: String public let destination: String public let inverse: String? public let userInfo: [UserInfo] public let toMany: Bool public let toOne: Bool public let optional: Bool public let syncable: Bool public let ordered: Bool }
public struct Attribute { public let name: String public let optional: Bool public let indexed: Bool public let defaultValue: String? public let type: String public let userInfos: [UserInfo] }
- PoissonBallon @poissonballon
DataModelKit is available under the MIT license. See the LICENSE file for more info.
- Thanks to Adrien Groleas for logo
- Thanks to @trpl for text review