我在我的 OSX 应用程序中使用带有 XML 存储的 Core Data。我注意到一个问题,有时当我在 Xcode 中终止应用程序时,上次会话期间创建的一些数据在重新启动后会丢失。
我使用 opensnoop 来检查文件访问,并且我注意到磁盘上的文件在更改后实际上并没有更新,即使我在托管对象上下文中调用 save: - 它仅在应用程序时同步到磁盘正确退出。如果它突然被杀死,它根本无法保存文件。
无论如何,我可能会切换到 SQLite 存储,但我想知道 - 是否有任何方法可以强制将 XML 存储立即同步到磁盘?我没有看到任何相关类中的任何方法可以做到这一点,核心数据指南文档似乎也没有提到这一点。