前言

1 - CoreData 是苹果公司封装的进行数据持久化的框架,首次在 iOS 3.0 版本系统中出现,它允许按照实体-属性-值模型组织数据,并以 XML、二进制文件或者 SQLite 数据文件的格式持久化数据

2 - CoreData 可以节省代码量:一般可达 30% 到 70%;它支持可视化建模;支持模型版本升级

3 - CoreData 的核心类

① NSManagedObjectConext:被管理对象上下文(数据管理器),相当于一个临时数据库。它负责应用与数据库之间的交互,增删改查基本操作都要用到(在实际开发中我们只关注该层)

② NSManagedObjectModel:被管理对象模型(数据模型器),它可以添加实体及实体的属性,为 xxx.xcdatamodeld 文件

③ NSPersistentStoreCoordinator:持久化存储助理(数据链接器),是整个 CoreData 的核心,用来配置数据存储的名字、位置、存储方式等

④ NSManagedObject:是从 CoreData 中取出来的对象,默认都是 NSManagedObject 对象,通过键值对来存取所有的实体属性,相当于数据库中的表格记录

⑤ NSFetchRequest:获取数据时的请求

模型版本升级

1 - 流程图

① 选中 xxx.xcdatamodeld 文件,选择 Editor ->Add Model Version

② 选择当前版本:点击新建的模型版本 CoreDataDemo 2,在工程属性面板中更新当前版本

③ 给 CoreDataDemo 2 中的实体 student 新增分数属性

④ 新建映射文件

⑤ 配置代码:修改 APPDelegate 文件中的 - (NSPersistentStoreCoordinator *)persistentStoreCoordinator 方法

⑥ 删除旧文件  Student.h 和 Student.m,选择 Editor ->Create NSManagedObject Subclass,选择对应版本、实体即可完成

最新文章

  1. HTTP头的Expires与Cache-control
  2. 安装swoole 扩展,在phpinfo中显示,但是php -m 中不显示的问题
  3. Maven&&Ant使用
  4. 1. VS2010---简介
  5. ActiveMQ(5.10.0) - 使用 JDBC 持久化消息
  6. o] TortoiseGit错误 - Could not get all refs. libgit2 returned: corrupted loose reference file
  7. python 网络编程第三版
  8. XAF-列表视图数据访问模式
  9. 在Pypi上发布自己的Python包
  10. 201621123031 《Java程序设计》第3周学习总结
  11. Gnome osc,资源,,,,,因为官网难下
  12. Spring Boot 2程序不能加载 com.mysql.jdbc.Driver 问题
  13. 10,关于在vs2017中的netcore项目使用BundlerMinifier 配置问题
  14. Spring+Quartz 实现定时任务的配置方法
  15. UVA439-水题
  16. Jquery无缝轮播图的制作
  17. <Android 基础(二十六)> 渐变色圆角Button
  18. 看图说说Heap中对象的生存状态
  19. TortoiseGit revert failed - unable to revert local changes
  20. Hadoop学习笔记---HDFS

热门文章

  1. 模拟浏览器与服务器交互(简易TomCat框架)
  2. LeetCode-1669 合并两个链表
  3. sql(上)例题
  4. R Works with Google Earth Engine - Installation 【rgee - 安装问题解决集锦】
  5. 信创要求下,FTP要不要替代?要怎么进行国产化替代?
  6. vue3 loading 等待效果
  7. Software--C#--grammer_Delegate--Event
  8. 蓝牙mesh组网实践(dataflash的占用与管理)
  9. elementui树状结构添加右键点击事件
  10. snapshot备份