-
1. 新建一个带CoreData的project,然后把AppDelegate里的代码粘贴到原有项目的AppDelegate中,去除重复,然后import CoreData 就ok👌了。
-
2. 新建一个DataModel数据库文件,新建一个名字为Item的Entities,然后添加两个属性,一个是title,一个是done,title是字符串类型,done是boolean类型。
-
这两个属性新建之后,都要去掉下面的optional勾选框
-
Item ENTITIES属性中的class中的model要设置为Current Project Module
-
Item ENTITIES属性中的class中的codegen设置为Class Definition,这样Xcode会自动帮我们建立类之间的联系,不需要手动添加。
-
有CoreData数据库之后,删掉Data.swift文件。
-
3. appDelegate中save函数
-
4. 在controller中新建一个全局共享的context上下文常量
-
let context = (UIApplication.shared.delegate **as**! AppDelegate).persistentContainer.viewContext
-
在SQLlite数据库中,操作数据都要通过context来进行。
-
context类似于一个临时区域,对数据进行操作,完成之后保存获取加载出来。
-
5. 现在的Item是NSManagerObjectContext类型
-
6. newItem是Item的实例,首先初始化一下newItem的属性
-
7. saveItem,通过saveItem函数保存数据
-
8. 注释所有关于loadItem的代码