RxQueryKit 0.6.1

RxQueryKit 0.6.1

TestsTested
LangLanguage SwiftSwift
License BSD
ReleasedLast Release Dec 2016
SwiftSwift Version 3.0
SPMSupports SPM

Maintained by Kyle Fuller.


Downloads

Total1,959
Week0
Month0

Installs

Apps22
Test Targets12
powered by Segment

GitHub

Stars48
Watchers1
Forks1
Issues0
Contributors1
Pull Requests0

Code

Files2
LOCLines of Code 117


 
Depends on:
RxSwift~> 3.0
QueryKit~> 0.13.0
 

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.