Я обновляю локальное приложение, управляемое Core Data, для поддержки iCloud. Одна из проблем, которую я предполагаю, связана с тем, что я называю «стандартными объектами» — начальными данными, которые приложение предоставляет при первом запуске, и которые 99% пользователей будут настраивать.
Стандартные объекты
Item A
Item B
Пользовательские объекты
Tomatoes
Potatoes
Если пользователь затем запускает приложение в первый раз на новом устройстве, я думаю, что поведение по умолчанию будет заключаться в повторном создании стандартных объектов, которые будут объединены с настроенными объектами из постоянного хранилища iCloud (элемент A, элемент B, помидоры, картофель), что приводит к беспорядочному взаимодействию с пользователем.
Один из подходов может состоять в том, чтобы синхронно проверять данные iCloud при первом запуске и, если они существуют, не создавать стандартные объекты. Но, тем не менее, пользователь может быть в автономном режиме при первом запуске, а затем при втором запуске произойдет такое же нежелательное слияние локальных стандартных объектов с пользовательскими объектами iCloud.
Существуют ли способы добавить логику к слияниям iCloud, чтобы при поступлении настраиваемых объектов из облака (помидоры и картофель) можно было сигнализировать мне об удалении локальных складских объектов (элемент A и элемент B) до того, как они будут переданы?
Спасибо!