#cloudkit
#cloudkit
Вопрос:
У меня есть приложение, которое сохраняет некоторые данные о состоянии с помощью CloudKit. Однако сохранение и восстановление работают правильно, я хочу сохранить последнее состояние, когда пользователь выбирает команду Quit. Я выполняю вызов;
функция applicationWillTerminate(_ Уведомление: уведомление) {
cmsHW.saveState()
}
но сохранение CloudKit, вызываемое в saveState(), никогда не завершается. Есть ли способ дождаться его завершения до завершения работы приложения?
Ответ №1:
Моим собственным решением для этого было;
1 — вызовите функцию saveState в applicationShouldTerminate
func applicationShouldTerminate(_ sender : NSApplication) -> NSApplication.TerminateReply
{
cmsHW.saveState(sender:self)
return NSApplication.TerminateReply.terminateLater
}
и
2 — когда операции с хранилищем завершены;
NSApp.reply(toApplicationShouldTerminate: true)
для завершения завершения.