Как заполнить базу данных только один раз с помощью CloudKit и SwiftData?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как заполнить базу данных только один раз с помощью CloudKit и SwiftData?

Сообщение Anonymous »

Я хочу предварительно заполнить базу данных пользователя при первом использовании приложения. Вот что у меня есть:

Код: Выделить всё

func checkAndPopulateData(modelContext: ModelContext) {
let fetchRequest = FetchDescriptor()
let existingRecords = try? modelContext.fetch(fetchRequest)

if existingRecords?.isEmpty ?? true {
populatePredefinedData(modelContext: modelContext)
}
}
вызывается в приложении:

Код: Выделить всё

init() {
checkAndPopulateData(modelContext: sharedModelContainer.mainContext)
}
Это работает, за исключением случаев, когда приложение удаляется и переустанавливается, и в этом случае запрос на выборку ничего не возвращает, позволяя вставить элементы, а затем он синхронизируется с облако, что приводит к появлению дубликатов. Каждый раз, когда приложение удаляется и переустанавливается, появляется новый набор элементов.
Как этого избежать? Я попробовал добавить к элементам уникальные атрибуты, но это не поддерживается. В любом случае я бы предпочел не использовать уникальные символы для решения этой проблемы, поскольку не хочу вызывать ошибки. Есть ли способ дождаться завершения синхронизации CloudKit или какое-либо другое решение?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -swiftdata
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как отслеживать статус синхронизации с помощью CloudKit/SwiftData в SwiftUI
    Anonymous » » в форуме IOS
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • CloudKit + SwiftData
    Anonymous » » в форуме IOS
    0 Ответы
    74 Просмотры
    Последнее сообщение Anonymous
  • Почему SwiftData отображает пустые свойства без значений для объектов, извлеченных из CloudKit?
    Anonymous » » в форуме IOS
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Почему SwiftData отображает пустые свойства без значений для объектов, извлеченных из CloudKit?
    Anonymous » » в форуме IOS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Синхронизация не работает для независимого приложения WatchOS с использованием CloudKit и SwiftData
    Anonymous » » в форуме IOS
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»