Lightweight CoreData library. written in Swift.
- iOS 8.0+
- Swift 2.2
- Xcode 7.3+
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”.
// DataModel is your dataModel (DataModel.xcdatamodeld)
SwCD.setup("DataModel", dbRootDirPath: nil, dbDirName: nil, dbName: nil)
// Item is NSManagedObject Subclass
let entity = SwCD.createEntity(Item.self)
SwCD.insert(Item.self, entities: [entity], completion: { success, error in
// after call saveWithBlockAndWait function
if success == true {
// do something
} else {
printlin(error)
}
})
let predicate = NSPredicate(format: "name == %@", argumentArray: ["bobo james"])
// results is [Item]
let results = SwCD.find(Item.self, predicate: predicate, sortDescriptors: nil, fetchLimit: nil)
// results is [Item]
let results = SwCD.all(Item.self, sortDescriptors: nil)
// results is Item?
let result = SwCD.findFirst(Item.self, attribute: "identifier == %@", values: ["1"])
// entity is Item?
var entity = SwCD.findFirst(Item.self, attribute: "identifier == %@", values: ["1"])
entity.name = "after"
SwCD.update(Item.self, entities: [entity], completion: nil)
// entity is Item?
var entity = SwCD.findFirst(Item.self, attribute: "identifier == %@", values: ["1"])
SwCD.delete(Item.self, entities: [entity], completion: nil)
// Item is NSManagedObject Subclass
SwCD.deleteAll(Item.self, completion: nil)
ARNAlert is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "SwCD"
MIT license. See the LICENSE file for more info.