ios-queryable alternatives and similar libraries
Based on the "Core Data" category.
Alternatively, view ios-queryable alternatives based on common mentions on social networks and blogs.
-
CoreStore
Unleashing the real power of Core Data with the elegance and safety of Swift -
QueryKit
A simple CoreData query language for Swift and Objective-C. -
encrypted-core-data
v2.0 - iOS Core Data encrypted SQLite store using SQLCipher -
AlecrimCoreData
A powerful and simple Core Data wrapper framework written in Swift. -
Graph
Graph is a semantic database that is used to create data-driven applications. -
PrediKit
An NSPredicate DSL for iOS, OSX, tvOS, & watchOS. Inspired by SnapKit and lovingly written in Swift. -
AERecord
Super awesome Swift minion for Core Data (iOS, macOS, tvOS) -
DATAStack
100% Swift Simple Boilerplate Free Core Data Stack. NSPersistentContainer -
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. -
HardCoreData
CoreData stack and controller that will never block UI thread -
JustPersist
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. -
SLRESTfulCoreData
Objc naming conventions, autogenerated accessors at runtime, URL substitutions and intelligent attribute mapping -
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. -
CWCoreData
Additions and utilities to make it concurrency easier with the Core Data framework. -
Cadmium
A Swift framework that wraps CoreData, hides context complexity, and helps facilitate best practices. -
PredicateFlow
Write amazing, strong-typed and easy-to-read NSPredicate. -
CoreDataDandy
A feature-light wrapper around Core Data that simplifies common database operations. -
Core Data Query Interface
A type-safe, fluent Swift library for working with Core Data
Appwrite - The Open Source Firebase alternative introduces iOS support
* 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 ios-queryable or a related project?
README
ios-queryable is an Objective-C category that provides IQueryable and IEnumerable-like functionality to Core Data.
Tired of writing boilerplate Core Data code? Can't live without LINQ? ios-queryable is for you!
It supports query composition and deferred execution, and implements a subset of IEnumerable's methods, including where, take, skip, orderBy, first/firstOrDefault, single/singleOrDefault, count, any, and all.
It lets you write code like this:
NSArray* widgets = [[[[[self.managedObjectContext ofType:@"Widget"]
where:@"Type == 'abc'"]
orderBy:@"createddate"]
take:5]
toArray];
instead of like this:
NSFetchRequest* fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription* entity = [NSEntityDescription
entityForName:@"Widget" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate* predicate = [NSPredicate predicateWithFormat: @"type == 'abc'"];
[fetchRequest setPredicate:predicate];
NSSortDescriptor* sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"createddate" ascending:YES];
NSArray* sortDescriptors = [[NSArray alloc] initWithObjects: sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
[fetchRequest setFetchLimit:5];
NSError* error;
NSArray* widgets = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
It also supports the NSFastEnumeration protocol, allowing for easy use in foreach loops:
foreach(Widget* widget in [self.managedObjectContext ofType:@"Widget"])
{
// Do widgety stuff
}
Usage
To use ios-queryable, simply copy NSManagedObjectContext+IQueryable.h and NSManagedObjectContext+IQueryable.m into your project folder. Then, simply include the header file, and start writing your queries!
For examples, check out the tests in the tests project.