/SwCD

Lightweight CoreData library written in Swift.

Primary LanguageSwiftMIT LicenseMIT

SwCD

Swift 2.2 Platforms iOS Xcode 7.3+ License

Lightweight CoreData library. written in Swift.

Requirements

  • iOS 8.0+
  • Swift 2.2
  • Xcode 7.3+

Use CoreData In Swift

please see.

http://jamesonquave.com/blog/core-data-in-swift-tutorial-part-1/


Because of the way Swift modules work, we need to make one modification to the core data model.
In the field “Class” under the data model inspector for our entity, LogItem,
we need to specify the project name as a prefix to the class name.
So instead of just specifying “LogItem” as the class,
it needs to say “MyLog.LogItem”, assuming your app is called “MyLog”.

Usage

Setup

// DataModel is your dataModel (DataModel.xcdatamodeld)
SwCD.setup("DataModel", dbRootDirPath: nil, dbDirName: nil, dbName: nil)

Create Entity

// Item is NSManagedObject Subclass
let entity = SwCD.createEntity(Item.self)

Insert

SwCD.insert(Item.self, entities: [entity], completion: { success, error in
  // after call saveWithBlockAndWait function
  if success == true {
      // do something
  } else {
      printlin(error)
  }
})

Find

let predicate = NSPredicate(format: "name == %@", argumentArray: ["bobo james"])

// results is [Item]
let results = SwCD.find(Item.self, predicate: predicate, sortDescriptors: nil, fetchLimit: nil)

FindAll

// results is [Item]
let results = SwCD.all(Item.self, sortDescriptors: nil)

FindFirst

// results is Item?
let result = SwCD.findFirst(Item.self, attribute: "identifier == %@", values: ["1"])

Uodate

// entity is Item?
var entity = SwCD.findFirst(Item.self, attribute: "identifier == %@", values: ["1"])
entity.name = "after"

SwCD.update(Item.self, entities: [entity], completion: nil)

Delete

// entity is Item?
var entity = SwCD.findFirst(Item.self, attribute: "identifier == %@", values: ["1"])

SwCD.delete(Item.self, entities: [entity], completion: nil)

DeleteAll

// Item is NSManagedObject Subclass
SwCD.deleteAll(Item.self, completion: nil)

Installation

ARNAlert is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SwCD"

License

MIT license. See the LICENSE file for more info.