I create a CloudKit Record called Group, this record can have child records of type Category.
When I save the Category I set the record Group as it parent.
let recordIDGroup = CKRecordID(recordName: "Group", zoneID: CKRecordZoneID(zoneName: zoneName, ownerName: CKCurrentUserDefaultName))
let referenceToRecordIDGroup = CKReference(recordID: recordIDGroup, action: .none)
let recordID = CKRecordID(recordName: name, zoneID: CKRecordZoneID(zoneName: self.zoneName, ownerName: CKCurrentUserDefaultName))
record = CKRecord(recordType: "Category", recordID: recordID)
record?.parent = referenceToRecordIDGroup
publicCloudDatabase.save(record!, completionHandler:( { savedRecord, error in
DispatchQueue.main.async {
if let error = error {
print("accountStatus error: \(error)")
} else {
print("savedRecord recordChangeTag: \(savedRecord?.recordChangeTag)")
}
}
}))
My problem is when I want to query CloudKit to get all child records of a Group.
let recordIDGroup = CKRecordID(recordName: “Group", zoneID: CKRecordZoneID(zoneName: zoneName, ownerName: CKCurrentUserDefaultName))
let predicate = NSPredicate(format: "parent == %@", argumentArray: [recordIDGroup])
let query = CKQuery(recordType: "Category", predicate: predicate)
I get this error:
How could I set up the predicate to obtain all child records of a Group?