前言
項(xiàng)目升級(jí) 項(xiàng)目以前使用的是 CoreData, 現(xiàn)在表里面需要新增加一個(gè)字段, 或許不僅僅是增加字段這么簡(jiǎn)單.
我們先簡(jiǎn)單玩一下數(shù)據(jù)庫(kù)
第 1 步
新建一個(gè)工程,這里我先不勾選 CoreData 選項(xiàng),進(jìn)入工程之后再添加.
第 2 步
第 3 步
第 4 步
第 5 步
這時(shí)候生成完了的類直接編譯是報(bào)錯(cuò)的
第 6 步
解決報(bào)錯(cuò), 然后重新生成一下這些類
第 7 步
重新生成之后再編譯
第 8 步
我發(fā)現(xiàn)現(xiàn)在生成的類的名字和之前使用 Xcode7生成的不一樣啊. 去百度了一下. 這個(gè)是可以改名字的. 直接改文件名就可以, 同時(shí)記住改里面的 #import ""
第 9 步
在 viewDidLoad 里面添加如下代碼
然后 Command + R, 就可以愉快玩耍了
我們?cè)俸?jiǎn)單升級(jí)一下數(shù)據(jù)庫(kù)
第 1 步
App迎來了下一個(gè)版本,演員表里面的演員新增了一個(gè)字段 "info", 這時(shí)候需要做升級(jí)處理,否則可能造成崩潰.
第 2 步
第 3 步
在右側(cè)窗口選擇數(shù)據(jù)庫(kù)的版本
第 4 步
在新數(shù)據(jù)庫(kù)模型的實(shí)體里面增加屬性
第 5 步
把原來的生成的類都刪掉,然后老方法重新生成一次.
第 6 步
生成完了之后可以改個(gè)名字
第 7 步
添加一個(gè)字典,為了配合數(shù)據(jù)庫(kù)升級(jí),然后在新字段中寫點(diǎn)數(shù)據(jù),如下圖:
Command + R, 再玩一次
第 8 步
效果圖:
關(guān)鍵代碼:
NSDictionary *optionsDictionary = @{NSMigratePersistentStoresAutomaticallyOption: @YES, NSInferMappingModelAutomaticallyOption: @YES};
講真,MarkDown 里面插入代碼段很難用.
后續(xù)
附上我曾經(jīng)拜訪過的文章
iOS CoreData介紹和使用(以及一些注意事項(xiàng))