Как я могу обрабатывать и сохранять данные, когда приложение будет закрыто с помощью SwiftData?IOS

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

Сообщение Anonymous »

Я использую SwiftData в своем приложении. Когда приложение будет закрыто, мне нужно запросить некоторые данные, обработать их и сохранить в SwiftData. Мой план — выполнить некоторый код в applicationWillTerminate, но сообщить об ошибке «не удалось найти активный в данный момент контейнер для ChartModel»

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

func applicationWillTerminate(_ application: UIApplication) {
ChartsService.queryAndHandleData()
}

static func queryAndHandleData() {
// modelContext is create referance in a view onAppear
guard self.modelContext != nil else {
return
}

do {
// the error because this line code
var model = ChartModel()
// query some data
let predicate = Account.predicateAllData()
var descriptor = FetchDescriptor(predicate: predicate)
let accounts = try modelContext?.fetch(descriptor)
guard accounts != nil, accounts!.count > 0 else {
return
}
// handle and save data ....
} catch {
print(error)
}
}
Я понимаю, что Swift-контейнер закрывается при выполнении функции applicationWillTerminate. Было бы здорово, если бы кто-нибудь подсказывал мне другой способ.

Подробнее здесь: https://stackoverflow.com/questions/785 ... -swiftdata
Ответить

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

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

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

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

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