coredata 輕量級 遷移(4 2以上)

2021-09-01 13:11:15 字數 835 閱讀 8634

當coredata中的entity,property或者relationship發生改變以後,預設情況下面,在嘗試呼叫coredata的時候,程式會異常退出。

怎樣開啟自動遷移的功能?分三步

- (nspersistentstorecoordinator *)persistentstorecoordinator   

nserror *error = nil;  

__persistentstorecoordinator = [[nspersistentstorecoordinator alloc] initwithmanagedobjectmodel:[self managedobjectmodel]];  

// handle db upgrade

nsdictionary *options = [nsdictionary dictionarywithobjectsandkeys:  

[nsnumber numberwithbool:yes], nsmigratepersistentstoresautomaticallyoption,  

if (![__persistentstorecoordinator addpersistentstorewithtype:nssqlitestoretype configuration:nil url:storeurl options:options error:&error])       

return __persistentstorecoordinator;  

}  

2. 建立新版本並選擇當前active模型版本,

xcode 4裡,建立新模型是在editor裡的add model verison,

Core Data 輕量級遷移

如果只是簡單的改變模型,比如給乙個實體新增乙個新屬性,core data 可以自動進行資料遷移,也就是指輕量級遷移。輕量級遷移基本上和普通遷移是一樣的,不過不需要提供對映模型,在對映概況中有介紹 core data自行推斷新模型和目標模型的差異。輕量級遷移在應用開發的早期階段使用非常方便,當你頻繁的...

04 CoreData輕量級版本的遷移

一 輕量級的資料遷移 例如新增新的實體,新的實體屬性。輕量級版本遷移方案非常簡單,大多數遷移工作都是由系統完成的,只需要告訴系統遷移方式即可。在持久化儲存協調器 psc 初始化對應的持久化儲存 nspersistentstore 物件時,設定options引數即可,引數是乙個字典。psc會根據傳入的...

關於CoreData遷移

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