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.