CKQueryOperation сразу после CKModifyRecordsOperation
В моем приложении мне нужно получить все записи в пользовательской зоне (~12) вскоре после записи их в приватную базу данных. Все операции синхронизируются через зависимости. Данные, записанные в облако через CKModifyRecordsOperation, находятся там, как видно на приборной панели, и проверены правильными результатами в обработчике завершения. Моя проблема в том, что CKQueryOperation не возвращает только что записанные записи. Если каким-то образом я задерживаю вызов CKQueryOperation, то это работает. Это почти звучит так, будто между письмом и чтением есть некоторая задержка.
Я просмотрел всю документацию и, кроме механизма зависимости, основанного на операциях, не вижу способа синхронизировать чтение и запись.
Что мне не хватает?
Пожалуйста помоги!
Рамон.
Редактировать:
Здравствуйте, я нашел больше доказательств того, что есть некоторая неопределенная задержка при использовании CloudKit. Один поток в SO предложил сшивать записи, чтобы избежать проблемы с задержкой. Техника "сшивания" была определенно возможна в моем случае; Итак, я переписал свой код, чтобы воспользоваться этой техникой. И это, в основном, обходит латентность в целом, избегая необходимости загружать все записи.
Вот ссылка: Сшивание записей