CloudKit CKReference列表

Stu*_*tus 1 ios cloudkit ckreference ckrecord

所以我hava记录包含一个CKReference List字段.

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

有任何想法吗?

Wil*_* T. 8

假设您有一个记录"公司",并且他们有一个名为"员工"的CKReference List字段.

为公司进行获取很容易,但是一旦你拥有了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)
Run Code Online (Sandbox Code Playgroud)