CoreData的資料遷移

2022-09-16 03:36:09 字數 899 閱讀 7800

很多人說coredata坑多,現在才感覺到,今天上午寫**的時候,發現了乙個大問題.

其實很多簡單的情況,不用這麼麻煩,coredata提供了輕量級的自動資料遷移,比如以下三個情況會自動進行:

1.簡單的增加乙個字段

2.把乙個必填字段改為可選字段

3.把可選字段改為必填字段(但一定要定義預設值)

1.公升級資料庫模型:選中你的mydata.xcdatamodeld檔案,選擇選單editor->add model version 比如取名:mydata2.xcdatamodel

2.設定當前版本:選擇上級mydata.xcdatamodeld ,在inspector中的versioned core data model選擇current模版為mydata2(inspector介面,即為xcode工作區右側工具欄)

3.修改新資料模型mydata2,在新的檔案上新增,修改或刪除欄位及表

4.在程式啟動時新增如下**: 

nsdictionary *optionsdictionary = [nsdictionary dictionarywithobjectsandkeys:[nsnumber numberwithbool:yes],

nsmigratepersistentstoresautomaticallyoption, [nsnumber numberwithbool:yes],

if (![persistentstorecoordinator addpersistentstorewithtype:nssqlitestoretype

configuration:nil

url:storeurl

options:optionsdictionary

error:&error])

5.重啟一下xcode

CoreData的資料遷移

很多人說coredata坑多,現在才感覺到,今天上午寫 的時候,發現了乙個大問題.其實很多簡單的情況,不用這麼麻煩,coredata提供了輕量級的自動資料遷移,比如以下三個情況會自動進行 1.簡單的增加乙個字段 2.把乙個必填字段改為可選字段 3.把可選字段改為必填字段 但一定要定義預設值 1.公升...

CoreData的資料遷移

很多人說coredata坑多,現在才感覺到,今天上午寫 的時候,發現了乙個大問題.其實很多簡單的情況,不用這麼麻煩,coredata提供了輕量級的自動資料遷移,比如以下三個情況會自動進行 1.簡單的增加乙個字段 2.把乙個必填字段改為可選字段 3.把可選字段改為必填字段 但一定要定義預設值 1.公升...

關於CoreData遷移

1.在新專案中新增coredata的類庫,並在 prefix.h中加入 import 2.拷貝原專案中的.xcdatamodeld檔案到新專案中,新增檔案選擇coredata下nsmanagedobject subclass,選擇data models版本,勾選實體。如果實體已經存在,要手動的刪除原...