Доступ к модели Context за пределами иерархии просмотра, что приводит к тому, что ModelContext не сохраняетIOS

Программируем под IOS
Ответить
Anonymous
 Доступ к модели Context за пределами иерархии просмотра, что приводит к тому, что ModelContext не сохраняет

Сообщение Anonymous »

Я запускаю INO, в которой SwiftData работает отлично и сохраняет мои данные, если я прокомментирую любые строки, которые вызовы выполняют, но как только я попытаюсь вызовать eformsync () swiftdata fales, чтобы сохранить какие -либо изменения. Я перехожу в ModelContext в пользовательский класс из оператора @Enviroment из представления OnPapeAr. Как мне это исправить? < /P>
func performSync() async {
guard let notionService = notionService, isInitialized else { return }

// Set isSyncing on the main actor.
await MainActor.run {
isSyncing = true
}

do {
// Fetch the ideas on the main actor.
let ideas: [Idea] = try await MainActor.run {
let descriptor = FetchDescriptor()
return try modelContext.fetch(descriptor)
}

try await notionService.syncIdeas(ideas)

// Save changes on the main actor.
await MainActor.run {
try? modelContext.save()
isSyncing = false
}
} catch {
print("Sync failed: \(error)")
await MainActor.run {
isSyncing = false
}
}
}
< /code>
.onAppear{
if let paId = UserDefaults.standard.string(forKey: DefaultsKeys.parentPageId){
if !completedSetupSync{
authManager.setupSyncManager(parentPageId: paId, modelContext: modelContext)
completedSetupSync = true
}
}
}
< /code>
I was expecting the code to not effect other container changes outside the clas and also be able to save changes to the context itself

Подробнее здесь: https://stackoverflow.com/questions/794 ... o-not-save
Ответить

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

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

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

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

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