I don't understand why my ckquery does not fetch the records created by the user. Here is my code:
@IBAction func browseMyComplaints(sender: AnyObject) {
// who am i?
CKContainer.defaultContainer().fetchUserRecordIDWithCompletionHandler({ userRecordID, error in
if error == nil {
println(userRecordID.description)
let query:CKQuery = CKQuery(recordType: "myComplaint", predicate: NSPredicate(format: "creatorUserRecordID = %@", userRecordID))
var results : [CKRecord] = [CKRecord]()
var operation : CKQueryOperation = CKQueryOperation(query: query)
operation.recordFetchedBlock = { (record:CKRecord!) -> Void in
results.append(record)
}
operation.queryCompletionBlock = {
(cursor:CKQueryCursor!, error:NSError!) in
if (error != nil) {
NSLog(error.description)
} else {
NSLog("no query error reported")
NSLog(String(results.count) + " found")
tvComplaintRecords = results
self.performSegueWithIdentifier("complaintList", sender: self)
}
}
publicDatabase.addOperation(operation)
} else {
println("Can not identify user due to error: \(error.localizedDescription)")
}
})
}
My output is:
<CKRecordID: 0x7be3f220; _46761404769b094e82053fea39b16bb5:(_defaultZone:__defaultOwner__)>
2014-10-11 12:45:32.597 ReportAMenace[15244:781048] no query error reported
2014-10-11 12:45:32.597 ReportAMenace[15244:781048] 0 found
But there are 11 records, include 1 that I made just before I ran the above query. Any hints?