как завершить сохранение CloudKit при выходе из приложения

#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)
 

для завершения завершения.