2015-08-07 9 views
1

Итак, я записал hava, который содержит поле, которое является списком CKReference.CloudKit Список CKReference

Теперь я хотел бы получить все ссылочные (по этим спискам CKReferences) записи (из другого типа) в пакетном режиме.

Любые идеи?

ответ

7

Предположим, у вас есть запись «Компания», и у них есть поле списка CKReference List под названием «Сотрудники».

Выполнение выборки для Компании очень просто, но как только у вас есть компанияRecord, теперь вы хотите получить своих сотрудников. Вы можете сделать это следующим образом:

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

Почему бы не привести пример с обратными ссылками, если это то, что поощряется Apple? – jjatie

+0

Я удалил заметку о обратном обращении, так как он не имеет никакого отношения к коду и тому, что задается (выборка). Не уверен, почему у меня было это с самого начала, это было просто смущение. –

Смежные вопросы