I want to fetch the last X minutes of public/private entries from CloudKit.
I tried something in this effect but failed:
let date = NSDate(timeInterval: -60.0 * 120, sinceDate: NSDate())
let predicate = NSPredicate(format: "creationDate > %@", date)
But this will get me data, but I'm not sure if I'm querying everything or just to some kind of cap:
let predicate = NSPredicate(value: true)
I want to be able to query by certain amount of time. Is this possible without doing the creation sorting logic on the client side?
Here's the complete code block:
func fetchPublicData(completion: ((records:[AnyObject]) -> Void)!)
{
let date = NSDate(timeInterval: -60.0 * 120, sinceDate: NSDate())
let predicate = NSPredicate(format: "creationDate > %@", date)
let query = CKQuery(recordType: "MyDataRecordType", predicate: predicate)
let container = CKContainer.defaultContainer()
let publicDb = container.publicCloudDatabase
publicDb.performQuery(query, inZoneWithID: nil,
{
(results, error) in
if error != nil
{
self.handleError(error)
}
else
{
// do stuff
}
})
}
Thanks.