//Core Data 是 iOS SDK 里的一个很强大的框架,允许程序员以面向对象的方式储存和管理数据
//Core Data 不是一个数据库,不要用数据库的眼光去看待 Core Data
//Core Data 不仅是一个加载、保存数据的框架,还可以:
//实体与 SQLite 中的 Table 对应
//无需编写任何 SQL 语句
//通过谓词指定查询条件
//Core Data 是一套非常成熟的框架,性能优异
//最早出现在 Mac OS X 10.4 Tiger 与 iOS 3.0 系统
//新建项目
//
//新建项目,勾选Use Core Data
//实体 (entity)是数据模型的基石
//
//一个实体表示应用程序中有意义的一部分数据
//
//可以把实体看待成 SQLite 中的一个表,或者数据模型
//
//创建实体对应的代码文件
//
//选择菜单 Editor / Create NSManagedObject SubClass
//
//注意:将文件添加到DataModel文件夹中步骤
//
//1、右击文件列表—> show in Finder —>在test文件夹下新建一个DataModel文件夹 —>将文件夹拖入到项目的文件列表中
//
//2、选择xcddatamodeld->选择菜单 Editor / Create NSManagedObject SubClass
//
//3、选择存储位置时,请注意细节
//遇到坑!!!!
//
//问题描述:
//
//使用xcode8.3创建项目,使用CoreData 建立好coreData模型后,生成文件后。报如下错误。提示没有引入文件。
//
//查阅资料&综合调试,无法从正面解决问题。
//
//解决方案:
//
//1.使用xcode7.1创建项目,生成CoreData模型以及文件后,再使用Xcode8.3打开项目,编译通过。不再报错
新增数据
//查询数据
//
//要查询数据需要使用查询结果控制器-> NSFetchedResultsController
//
//实例化查询结果控制器
//
//指定查询请求,设置请求排序属性
//
//执行查询 performFetch
//
//查询结果 fetchedObjects
//
//设置代理,监听数据变化 controllerDidChangeContent:
//修改
//
//获取要修改的 实体描述
//
//设置对象属性
//
//保存数据
//删除
//获取要删除的 实体描述
//
//让管理上下文删除对象 —— 从内存删除
//
//保存对数据的操作 —— 从数据库中删除