CoreData版本遷移

2021-06-25 07:31:26 字數 834 閱讀 1393

如果已經建立好了coredata資料庫, 當實體中多了乙個屬性的時候,我們直接去更改資料表中實體, 為其增添屬性會發生錯誤, 

此時需要通過版本更新的方式解決這個問題.

1. 新增乙個model version檔案

2.設定使用以後要使用的版本

4.刪除之前版本中person實體對應的類, 用新版本的person實體再生成乙個類

執行程式即可, 如果發生如下的錯誤, 

將下邊這行**拷貝到搭建上下文環境之前執行一下程式, 然後再刪除掉正行**, 再執行一下就ok了  

[[nsfilemanager defaultmanager] removeitematurl:[[[nsfilemanager defaultmanager] urlsfordirectory:nsdocumentdirectory indomains:nsuserdomainmask] lastobject] error:nil];

搞定!

iOS 10 coreData 版本遷移

以前的方法需要在 1設定新版本 表示支援版本遷移,以及版本遷移後自動設定對映關係 就可以用了 版本遷移要在option加字典 if persistentstorecoordinator addpersistentstorewithtype nssqlitestoretype configuratio...

CoreData資料庫版本遷移

coredata使用的是第三方庫magicrecord。版本不斷覆蓋時需要對資料庫進行遷移,經過不斷打包測試,發現以下規律 a 表中增加模型,覆蓋安裝後上乙個版本表中資料無法再取出 b a模型中新增加欄位,覆蓋安裝後,訪問a模型資料,程式閃退,必須刪除以前版本重新安裝,才能正常訪問表中a模型的字段 ...

關於CoreData遷移

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