Merge pull request #16 from munhitsu/ordered NSOrderedSet relation
Merge pull request #16 from munhitsu/ordered
NSOrderedSet relation
Declarative way to describe a Core Data model in code. Swifty Core Data model 🙂
Use CoreDataModelDescription to describe your model. Sample code describes this model:
CoreDataModelDescription
Assuming you already defined Author, Publication, and Article subclasses of NSManagedObject.
Author
Publication
Article
NSManagedObject
let modelDescription = CoreDataModelDescription( entities: [ .entity( name: "Author", managedObjectClass: Author.self, attributes: [ .attribute(name: "name", type: .stringAttributeType) ], relationships: [ .relationship(name: "publications", destination: "Publication", toMany: true, deleteRule: .cascadeDeleteRule, inverse: "author", ordered: true) ]), .entity( name: "Publication", managedObjectClass: Publication.self, attributes: [ .attribute(name: "publicationDate", type: .dateAttributeType), .attribute(name: "numberOfViews", type: .integer64AttributeType, isOptional: true) ], relationships: [ .relationship(name: "author", destination: "Author", toMany: false, inverse: "publications") ]), .entity( name: "Article", managedObjectClass: Article.self, parentEntity: "Publication", attributes: [ .attribute(name: "text", type: .stringAttributeType) ]) ] ) let model = modelDescription.makeModel()
Motivation and creating this package described in my article Core Data and Swift Package Manager.
This package is still on early stage of development. Please submit issues for missing functionality. Pull requests are more than welcome.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
CoreDataModelDescription
Declarative way to describe a Core Data model in code. Swifty Core Data model 🙂
Usage
Use
CoreDataModelDescription
to describe your model. Sample code describes this model:Assuming you already defined
Author
,Publication
, andArticle
subclasses ofNSManagedObject
.Motivation
Motivation and creating this package described in my article Core Data and Swift Package Manager.
This package is still on early stage of development. Please submit issues for missing functionality. Pull requests are more than welcome.