iOS CoreData Xcode8 数据库升级迁移 (Objective-C)

前言

项目升级 项目以前使用的是 CoreData, 现在表里面需要新增加一个字段, 或许不仅仅是增加字段这么简单.

我们先简单玩一下数据库

第 1 步

新建一个工程,这里我先不勾选 CoreData 选项,进入工程之后再添加.


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第1张图片
1.png

第 2 步

iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第2张图片
2.png

第 3 步

iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第3张图片
3.png

第 4 步

iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第4张图片
4.png

第 5 步

这时候生成完了的类直接编译是报错的


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第5张图片
5.png

第 6 步

解决报错, 然后重新生成一下这些类


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第6张图片
6.png

第 7 步

重新生成之后再编译


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第7张图片
7.png

第 8 步

我发现现在生成的类的名字和之前使用 Xcode7生成的不一样啊. 去百度了一下. 这个是可以改名字的. 直接改文件名就可以, 同时记住改里面的 #import ""

iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第8张图片
8.png

第 9 步

在 viewDidLoad 里面添加如下代码

然后 Command + R, 就可以愉快玩耍了


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第9张图片
9.png

我们再简单升级一下数据库

第 1 步

App迎来了下一个版本,演员表里面的演员新增了一个字段 "info", 这时候需要做升级处理,否则可能造成崩溃.


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第10张图片
1.升级.png

第 2 步

iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第11张图片
2.png

第 3 步

在右侧窗口选择数据库的版本


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第12张图片
3.png

第 4 步

在新数据库模型的实体里面增加属性


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第13张图片
4.png

第 5 步

把原来的生成的类都删掉,然后老方法重新生成一次.


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第14张图片
5.png

第 6 步

生成完了之后可以改个名字


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第15张图片
6.png

第 7 步

添加一个字典,为了配合数据库升级,然后在新字段中写点数据,如下图:
Command + R, 再玩一次


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第16张图片
7.png

第 8 步

效果图:


iOS CoreData Xcode8 数据库升级迁移 (Objective-C)_第17张图片
8.png

关键代码:

NSDictionary *optionsDictionary = @{NSMigratePersistentStoresAutomaticallyOption: @YES, NSInferMappingModelAutomaticallyOption: @YES};

讲真,MarkDown 里面插入代码段很难用.

后续

附上我曾经拜访过的文章
iOS CoreData介绍和使用(以及一些注意事项)

Core Data入门

(Xcode 8.1 )CoreData 的使用

iOS CoreData版本升级和数据库迁移

你可能感兴趣的:(iOS CoreData Xcode8 数据库升级迁移 (Objective-C))