2013-11-14 50 views
0

我在我的OSX應用程序中將Core Data與XML存儲一起使用。我注意到一個問題,有時當我在Xcode中殺死應用程序時,在最後一次會話期間創建的某些數據在重新啓動後會丟失。將Core Data XML存儲同步到磁盤

我已經使用opensnoop檢查文件訪問權限,我注意到磁盤上的文件在更改後並未實際更新,即使我調用save:在託管對象上下文中 - 它僅同步到磁盤時,應用程序正常退出。如果它突然死亡,它根本無法保存文件。

無論如何,我可能會切換到SQLite存儲,但我想知道 - 是否有任何方式強制同步XML存儲到磁盤立即?我沒有看到任何相關類中的任何方法可以做到這一點,核心數據指南文檔似乎也沒有提到這一點。

回答

0

好吧,我的壞 - 問題實際上不是由商店類型引起的,而是由管理對象上下文的組織方式 - 記錄被保存到子存儲中,但只有在磁盤上的文件被更新時父商店也被保存。看起來,如果你只是正確地管理這個,XML商店幾乎可以立即同步到磁盤。