RxQueryKit
RxSwift 对 QueryKit 的扩展。
用法
查询集
RxQueryKit 扩展了 QueryKit,并提供了将操作作为可观察表达式评估和执行的方法。
let queryset = Person.queryset(context)
.filter { $0.age > 25 }
.orderBy { $0.name.ascending }
您可以使用以下方式订阅查询集结果的任何更改
queryset.objects().subscribeNext {
print($0)
}
您还可以订阅匹配对象的数量
queryset.count().subscribeNext {
print("There are now \($0) people who are more than 25.")
}
托管对象上下文
RxQueryKit 为托管对象上下文提供了扩展,以监控上下文中的对象是否更改,以及上下文是否会保存或已保存。
它提供了一个类型安全的结构,提供更改的对象。
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 将 RxQueryKit 添加到项目中。
pod 'RxQueryKit'
许可证
QueryKit 在 BSD 许可证下发布。请参阅 LICENSE。