Какие записи будут загружены, когда CKFetchRecordChangesOperation будет вызван с нулевым токеном?
Будет CKFetchRecordChangesOperation
восстановить все записи из контейнера?
Я надеялся, что он загрузит все мои записи, так как я добавил много разных типов записей, но я не получил никого. Я инициализировал это с нулевым токеном.
ссылка говорит: объект CKFetchRecordChangesOperation сообщает об измененных и удаленных записях в указанной зоне записи. Используйте этот тип объекта операции для оптимизации операций выборки для локально управляемых наборов записей. В частности, используйте его, когда вы поддерживаете локальный кеш данных вашей записи и вам необходимо периодически синхронизировать этот кеш с сервером.
Я даже побежал CKFetchRecordChangesOperation
с другого устройства для исключения случая возвращаются только изменения, выполненные на других устройствах.
1 ответ
CKFetchRecordChangesOperation не имеет ничего общего с CKSubscription. Вместо этого он просто вернет все изменения всем recordTypes.
Документация говорит это о токене изменения:
Токен изменения из предыдущей операции выборки. Это токен, переданный вашему обработчику fetchRecordChangesCompletionBlock во время предыдущей операции выборки. Используйте этот токен, чтобы ограничить возвращаемые данные только теми изменениями, которые произошли с тех пор, как вы в последний раз делали один и тот же запрос на выборку. Если вы укажете nil для этого параметра, объект операции извлекает все записи и их содержимое.
Таким образом, вы просто получите все записи.