Получать данные, включая CKReference из CloudKit
Я давно пользуюсь сервисом CloudKit, поэтому там храню много данных. Теперь у меня есть второе устройство, подключающееся к CloudKit и получающее все данные.
Скажем, у меня есть два типа записей Task и List, где у Task есть CKReference, указывающая на List. Обычно при обработке каждой записи я сохраняю это в локальном кеше. Реальный сценарий более сложен с несколькими отношениями.
Вопрос:
Что произошло, если поступила запись " Задача", но связанной с ней записи " Список" еще нет?
Должен ли я кэшировать эту запись для последующей обработки или инициировать отдельную операцию для каждой записи, чтобы сначала получить этот конкретный список?
Любые другие предложения?
1 ответ
Я нашел ответ здесь в Apple Document.
По сути, предлагается специально выбрать отсутствующие записи (например, используя CKFetchRecordsOperation), а затем применить обновления к локальному кешу.