Contents

poissonballon/datamodelkit

DataModelKit

Usage

Init a DataModel Object

import DataModelKit

static let path = "Project/Ressources/Sample.xcdatamodel"
let model = try? DataModel(with: DataModelKitTests.pathTest)

print(model.entities)

Installation

EasyRealm is available through CocoaPods, Carthage and SPM.

CocoaPods
use_frameworks!

pod "DataModelKit"
Carthage

github 'PoissonBallon/DataModelKit'
SPM
 dependencies: [
    .package(url: "https://github.com/PoissonBallon/DataModelKit.git", .upToNextMinor(from:"1.0.0"))
  ],

API

DataModelKit provide somes structs with attribute to exploite your DataModel

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
}
Entity
public struct Entity {
  public let name: String ///
  public let userInfos: [UserInfo]
  public let attributes: [Attribute]
  public let relationships: [Relationship]
}
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
}
Attribute
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]
}

Author

License

DataModelKit is available under the MIT license. See the LICENSE file for more info.

Other

Package Metadata

Repository: poissonballon/datamodelkit

Default branch: master

README: README.md