CoreData и CloudKit - как инициализировать базовые данные? - PullRequest
0 голосов
/ 10 марта 2020

Я работаю над приложением, которое имеет некоторые базовые данные, которые необходимо инициализировать после каждой установки (первый раз + все другие важные обновления).

Возьмем, к примеру: категории, единицы измерения, другие значения по умолчанию, которые не являются stati c (я предоставляю значения по умолчанию, которые пользователь может обновить).

В настоящее время у меня есть задание, которое сохраняет все в Core Data и помечает в UserDefaults последнюю версию, для которой выполнялась эта операция.

Это нормально, но если у пользователя уже есть значения в CloudKit, и он переустанавливает приложение на новый iPhone, значения будут продублированы, так как базовый импорт выполняется до CK syn c случается (что может быть очень поздно из-за задержки. Исправление заключается в том, чтобы извлечь NSPersistentHistory, как в примере Apple, и удалить дублирующиеся значения, но это слишком много накладных расходов.

Какие-либо другие рекомендации? чтобы сохранить некоторые настраиваемые значения по умолчанию?

...