很多人說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版本,勾選實體。如果實體已經存在,要手動的刪除原...