Popularity
0.3
Stable
Activity
0.0
Stable
4
2
0
Code Quality Rank:
L5
Programming language: Swift
License: MIT License
Tags:
Core Data
Data Management
Latest version: v1.3.0
CoreDataOperation alternatives and similar libraries
Based on the "Core Data" category.
Alternatively, view CoreDataOperation alternatives based on common mentions on social networks and blogs.
-
Skopelos
A minimalistic, thread safe, non-boilerplate and super easy to use version of Active Record on Core Data. Simply all you need for doing Core Data. Swift flavour. -
JustPersist
DISCONTINUED. JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. It also allows you to migrate to any other persistence framework with minimal effort. -
CloudCore
Robust CoreData-CloudKit synchronization, including offline queuing, relationships, private, shared and public databases, field-level deltas, encrypted values, maskable attributes, cacheable assets, and more. -
Cadmium
A Swift framework that wraps CoreData, hides context complexity, and helps facilitate best practices.
InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
Promo
www.influxdata.com
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of CoreDataOperation or a related project?
README
CoreDataOperation
CoreDataOperation is a fast, safe, flexible operation for updating your core data models. It supports the latest Swift 2.1 syntax, and does all its work in a background managed object context.
Installation
- Using CocoaPods by adding
pod CoreDataOperation
to your Podfile - Using Carthage by adding
github "Adlai-Holler/CoreDataOperation"
to your Cartfile.
How to Use
let likeOperation = CoreDataOperation<Int>(targetContext: myContext, saveDepth: .ToPersistentStore) { context in
guard let post = Post.withID(postID, inContext: context) else {
throw Error.PostWasDeleted
}
if post.doILike {
post.doILike = false
post.likeCount -= 1
} else {
post.doILike = true
post.likeCount += 1
}
post.updatedAt = NSDate()
return post.likeCount
}
likeOperation.setCompletionBlockWithSuccess( { likeOperation, likeCount in
// Switch to main queue to update UI
dispatch_async(dispatch_get_main_queue()) {
likeCountLabel.text = String(likeCount)
}
}, failure: { likeOperation, error in
dispatch_async(dispatch_get_main_queue()) {
// Show an error.
}
})
myOperationQueue.addOperation(likeOperation)
Features
- Safe. All operations are confined to a private, background context, so if you get into a bad state, none of your working contexts will be affected.
- Fully asynchronous. No threads are blocked, no two contexts are locked at the same time, and no context is locked for any longer than it absolutely must be.
- Cancelable. The operation checks if it is canceled after each step.
- Modern Swift syntax. Your operation block can throw an error, and it can return a value of any type which can be accessed after the operation is over.
- Lightweight. The body block is disposed of after executing, and the target managed object context is not retained.
- Tests! CoreDataOperation is tested like crazy.