Skip to content
forked from LiveUI/Reloaded

Reloaded! Swift "ORM like" abstraction layer for CoreData

License

Notifications You must be signed in to change notification settings

carabina/Reloaded

 
 

Repository files navigation

Boost: Enterprise AppStore in Swift

CoreData - Reloaded

A brand new Swift abstraction layer for CoreData's original interface

Slack Jenkins Platforms Swift 4 Version License

Warning! - Project is not yet completely finished. We are going to release an alpha version in April, contact us on Slack for ETA or follow the status below

Setup data model

Well ,this is exactly the same process as you would do when setting up core data the old way. If you haven't created your app from a template, just:

  • create a new Data Model file
  • give it the same name as your bundle has (Reloaded is trying to use kCFBundleNameKey to generate the expected name)
  • Create your entities as you would

Basic usage

If you don't have your data model (.xcdatamodeld) file yet, jump to the Setup data model section and then come back.

Using Reloaded is super simple, in the basic configuration you don't have to write a single line of setup you would probably otherwise have in your AppDelegate but you can obviously still leverage your apps delegate methods as you would otherwise.

import Reloaded

// Conform your NSManagedObject to Reloaded own protocol `Entity`
extension Locomotive: Entity { }

// Creating a new object
let loco = try! Locomotive.new()
loco.color = "black"
loco.hasChimney = true

// Save an object
try! loco.save()

// Fetching all black locomotives with a chimney sorted by color
let all = try! Locomotive.query.filter("color" == "red", "hasChimney" == true).sort(by: "color", direction: .orderedDescending).all()
print(all)

About

Reloaded! Swift "ORM like" abstraction layer for CoreData

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 90.2%
  • Objective-C 5.0%
  • Ruby 4.8%