所以我有一个记录,其中包含一个字段,它是CKReference List。

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

有任何想法吗?

最佳答案

假设您有一条记录“Company”,并且他们有一个名为“Employees”的CKReference List字段。

为Company进行提取很容易,但是一旦有了companyRecord,现在就想获取其Employee。您可以这样做:

//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)

关于ios - CloudKit CK引用列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31872561/

10-09 09:12