RxSwift extensions for QueryKit.
RxQueryKit extends QueryKit and provides methods to evaluate and execute operations as observables.
let queryset = Person.queryset(context)
.filter { $0.age > 25 }
.orderBy { $0.name.ascending }You can subscribe to any changes to the results of this queryset using the following:
queryset.objects().subscribeNext {
print($0)
}You can also subscribe to the number of matching objects:
queryset.count().subscribeNext {
print("There are now \($0) people who are more than 25.")
}RxQueryKit provides extensions on managed object context to observe when the objects in a context change or when a context will or did save.
It provides a type safe structure providing the changes objects.
context.qk_objectsDidChange().subscribeNext { notification in
print("Objects did change:")
print(notification.insertedObjects)
print(notification.updatedObjects)
print(notification.deletedObjects)
}
context.qk_willSave().subscribeNext { notification in
print("Context will save")
}
context.qk_didSave().subscribeNext { notification in
print("Context did save")
}CocoaPods is the recommended way to add RxQueryKit to your project.
pod 'RxQueryKit'QueryKit is released under the BSD license. See LICENSE.
