2013-03-04 145 views
1

例如,如果我們在XCode中點擊「停止」,它將關閉應用程序,模仿崩潰行爲。在崩潰之前保存核心數據上下文

但是,如果我的核心數據上下文尚未保存,當我回去時,數據將不存在。

  1. 這是否有任何解決方法?

  2. 每次大操作完成後,我應該保存上下文嗎?

謝謝。

回答

2

根據我的經驗,您應該在使用核心數據保存機制時決定正確的粒度。

恕我直言(也許別人可能會有不同的意見)沒有標準遵循。我的經驗法則考慮了兩個不同的方面。 用戶表演

在第一種情況下,只要用戶執行關鍵操作,就應該保存。例如用戶在表單中插入了很多值,因此他希望不會再插入它們。關於第二個方面,保存操作可能會影響您的應用程序的性能。如果您經常將更改寫入磁盤,則應用程序的響應速度會降低。相反,如此多的內存對象可能會導致內存警告(這些會導致Core Data採取特定的行爲)。

折衷可能是使用後臺操作來保存更改或利用新的Core Data API。顯然,以前的規則仍然有效。

+0

嗯..有道理。感謝您的洞察力。 – Coolant 2013-03-05 00:53:45