2012-04-17 117 views
0

我的應用程序當前使用NSCoding存儲持久性數據,但我想切換到Core Data以利用其與iCloud的集成優勢。問題是,該應用程序目前正在App Store上,我擔心,一旦我做出更改,我當前用戶的本地商店上的數據將會丟失。將iOS應用程序從NSCoding轉換爲核心數據

從理論上講,我應該能夠做到以下幾點:

  1. 試驗NSCoding數據的存在
  2. 數據轉換到核心數據格式
  3. 使用核心數據未來所有「拯救」

...但我還沒有找到關於進行轉換的任何文檔。

任何想法?或者我完全脫離了某個地方?

感謝

+0

您能工作嗎?我發現自己處於類似的情況。 – icekomo 2016-09-09 04:34:14

回答

1

CoreData做了一些不錯的自動遷移,但來自不同CoreData商店之時。就你而言,你將不得不編寫自己的轉換代碼。

離開「舊」類,並解除「舊」存儲如果它在那裏。然後,循環訪問商店中的對象,並創建其CoreData等價物。保存CoreData,關閉它,然後重新加載它作爲檢查,以確保一切都是相同的。然後,刪除舊的存儲文件。

唯一的缺點是你必須保持舊的代碼(至少足以解除舊的對象格式)。

相關問題