1

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

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

有任何想法吗?

4

1 回答 1

8

假设您有一条记录“公司”,并且他们有一个名为“员工”的 CKReference 列表字段。

为 Company 进行获取很容易,但是一旦您拥有 companyRecord,您现在就想获取它的员工。你可以这样做:

//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)
于 2015-08-08T01:30:44.483 回答