CloudKit CK Список литературы
Так что у меня есть запись, которая содержит поле, которое является списком CKReference.
Теперь я хотел бы получить все (по этому списку CKReferences) записи (из другого типа) в пакетном режиме.
Есть идеи?
1 ответ
Решение
Допустим, у вас есть запись "Компания", и у них есть поле 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)