QueryKit / RxQueryKit

RxSwift extensions for dealing with QueryKit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QueryKit Logo

RxQueryKit

RxSwift extensions for QueryKit.

Usage

QuerySet

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.")
}

Managed Object Context

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")
}

Installation

CocoaPods is the recommended way to add RxQueryKit to your project.

pod 'RxQueryKit'

License

QueryKit is released under the BSD license. See LICENSE.

About

RxSwift extensions for dealing with QueryKit

License:BSD 2-Clause "Simplified" License


Languages

Language:Swift 90.5%Language:Ruby 5.9%Language:Objective-C 3.6%