Update README.md
Kuery, a type-safe Core Data query API using Swift 4’s Smart KeyPaths. Inspired and borrowed a lot of things from QueryKit and RealmEx.
Kuery is written in Swift 4.
Kuery is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Kuery'
For Carthage, add the following to your Cartfile:
Cartfile
github "kishikawakatsumi/Kuery"
Kuery provides type safety, code completion and avoidance of typos against NSPredicate queries.
NSPredicate
NSPredicate(format: "name == %@", "Katsumi") NSPredicate(format: "age > %@", 20)
Query(Person.self).filter(\Person.name == "Katsumi") Query(Person.self).filter(\Person.age > 20)
The following code should be a compile error.
Query(Person.self).filter(\Person.name > 20) // Compile error Query(Person.self).filter(\Dog.name == "John") // Compile error
context.perform { let results = try Query(Person.self) .filter(\Person.name == "Katsumi") .execute() }
context.perform { let results = try Query(Person.self) .filter(\Person.age == 36) .execute() }
context.perform { let results = try Query(Person.self) .filter(\Person.age > 20) .execute() }
context.perform { let results = try Query(Person.self) .filter(\Person.name == "Katsumi") .filter(\Person.age == 36) .execute() }
context.perform { let results = try Query(Dog.self) .filter(\Dog.owner == person) .execute() }
It requires a string representation of KeyPath to construct NSPredicate from KeyPath. However, the API is not officially visible currently. The feature request is tracked at SR-5220.
KeyPath
[SR-5220] Expose API to retrieve string representation of KeyPath - Swift
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Kuery
Kuery, a type-safe Core Data query API using Swift 4’s Smart KeyPaths. Inspired and borrowed a lot of things from QueryKit and RealmEx.
Requirements
Kuery is written in Swift 4.
Installation
CocoaPods
Kuery is available through CocoaPods. To install it, simply add the following line to your Podfile:
Carthage
For Carthage, add the following to your
Cartfile
:Description
Kuery provides type safety, code completion and avoidance of typos against
NSPredicate
queries.Before
After
The following code should be a compile error.
Usage
Feature request for Swift Standard Library
It requires a string representation of
KeyPath
to constructNSPredicate
fromKeyPath
. However, the API is not officially visible currently. The feature request is tracked at SR-5220.[SR-5220] Expose API to retrieve string representation of KeyPath - Swift