2012-12-03 114 views
0

我正在使用使用核心數據的ios6的應用程序。有時候當我的應用程序崩潰時,數據不一致,有時候我終止應用程序。每當我對數據進行更改時,我都會保存上下文,並且'applicationWillTerminate:'中也調用了'saveContext'。在這方面的任何幫助。核心數據ios,數據在崩潰時出現不一致

+0

你是什麼意思的「不一致?」。如果你的應用程序崩潰或者你停止了Xcode或者從多任務欄中刪除它,它將不會得到'applicationWillTerminate:'。 – jrturton

+1

相關:http://stackoverflow.com/questions/7818045/applicationwillterminate-when-is-it-called-and-when-not – jrturton

+0

是的,我明白你的觀點。我如何防止數據不一致,我的意思是我對核心數據進行了一些更改並保存了上下文,如果我停止了xcode的應用程序;下次運行應用程序時,我沒有收到停止之前保存的數據。 – Afnan

回答

0

在保存數據的行上放置斷點,或使用NSLog。然後重現您的崩潰情況。很可能您的保存代碼從未被調用過。

如果仍然有數據丟失,請使用sqlite3命令行工具或Firefox插件查看SQLite數據庫來檢查數據庫。您很可能會在物理數據庫中找到這些數據 - 這意味着您在檢索並顯示數據時遇到問題,而不是保存數據。

如果您仍然缺少數據 - 恭喜! 你超越了時空的連續體,進入了現實的新層面。