2011-04-28 47 views
1

我的iPhone應用程序的核心數據模型正在改變,我有一個自定義映射模型和一個NSEntityMigrationPolicy作爲我的一個對象。但是,我擔心我的一些用戶在其核心數據庫中會有成千上萬的對象,是否有任何最佳做法可以使遷移儘可能高效,或者向用戶傳達在加載新更新時發生了什麼它會嘗試遷移他們的數據?核心數據遷移與自定義NSEntityMigrationPolicy - 效率?

回答

1

您需要警告用戶該應用程序需要更新數據存儲,並且您應該提供一個「工作」對話框,以避免該應用程序掛起。

但是,遷移非常高效,因爲它實際上只是更改存儲上的映射。它不必實際實例化所有現有的託管對象,它只是更改商店中的字段名稱。在罕見的情況下,這可能會變得很複雜,但大多數情況下它幾乎沒有引起注意。

+0

啓動畫面加載時警告用戶的最佳方式是什麼? – Jason 2011-04-28 15:11:13

+0

您實際上無法更改Apple API調用初始圖像的真實「啓動畫面」。在應用程序自定義代碼運行之前,系統會自動加載該代碼。相反,您只需要在第一個操作視圖上彈出警報視圖,通知用戶正在進行數據更新。 – TechZen 2011-04-28 19:09:22

+0

如果您嘗試在啓動畫面顯示時謹慎遷移數據!你的應用程序只有幾秒鐘從'application:didFinishLaunchingWithOptions:'返回,然後你的應用程序將被操作系統終止。 – diachedelic 2012-01-05 09:23:53