何时持久化对象图

When to Persist Object Graph

我有一个对象图,它表示我的(第一个)iOS 应用程序的状态。我已经为每个对象实现了 NSCoding,所以我可以使用键控归档器。我的归档和归档工作正常。但是我留下了一个相当基本的问题:我什么时候应该存档?

仅当我从我的应用代理收到 applicationDidEnterBackground 消息时才调用它是否安全?或者我应该在用户每次在界面中做某事 "significant" 时坚持做事(比如关闭一些输入数据的视图等)?这方面的最佳做法是什么?

我在这篇文档中找到了我自己的问题的答案:

https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html

相关引用如下:

重要提示:始终在应用程序的适当检查点保存用户数据。尽管您可以使用应用程序状态转换来强制对象将未保存的更改写入磁盘,但永远不要等待应用程序状态转换来保存数据。例如,管理用户数据的视图控制器应在关闭时保存其数据。