CloudKit CK参考列表

CloudKit CKReference List

所以我有一个包含 CKReference 列表字段的记录。

现在我想批量获取所有引用的(通过这个 CKReferences 列表)记录(从另一种类型)。

有什么想法吗?

假设您有一条记录 "Company" 并且他们有一个名为 "Employees".

的 CKReference List 字段

获取 Company 很容易,但是一旦您有了 companyRecord,您现在就想获取它的 Employees。你可以这样做:

//first you need to create an array of employee record IDs
var employeeRecordIds = [CKRecordID]()
for employeeReference in companyRecord["Employees"] as! [CKReference] {
    employeeRecordIds.append(employeeReference.recordID)
}
//now you can fetch those employees
var fetchOperation = CKFetchRecordsOperation(recordIDs: employeeRecordIds)
fetchOperation.fetchRecordsCompletionBlock = {
    records, error in
    if error != nil {
        print("\(error!)")
    } else {
        for (recordId, record) in records {
            print("\(record)")
        }
    }
}
CKContainer.defaultContainer().publicCloudDatabase.addOperation(fetchOperation)