Core Data是一个模型层的技术。Core Data帮助你建立代表程序状态的模型层。Core Data也是一种持久化技术,它能将模型对象的状态持久化到磁盘,但它最重要的特点是:Core Data不仅是一个加载、保存数据的框架,它还能和内存中的数据很好的共事。

对象图形管理是CoreData提供的最强大的功能之一。为了更好利用Core Data,这是你需要理解的一块内容。

还有一点要注意:CoreData是完全独立于任何UI层级的框架。它是作为模型层框架被设计出来的。在OS X中,甚至在一些后台驻留程序中,Core Data都起着非常重要的意义。

堆栈

Core Data有相当多可用的组件。这是一个非常灵活的技术。在大多数的使用情况下,设置都是相当简单。

当所有的组件都捆绑到一起的时候,我们把它称作Core Data堆栈,这个堆栈有两个主要部分。一部分是关于对象图形管理,这正是你需要很好掌握的那一部分,并且知道怎么使用。第二部分是关于持久化,比如,保存你模型对象的状态,然后再恢复模型对象的状态。

在两个部分之间,即堆栈中间,是持久化存储协调器(PSC)。它将对象图形管理部分和持久化部分捆绑在一起,当它们两者中的任何一部分需要和另一部分交流时,这便需要PSC来调节了。

对象图形管理是你程序模型层的逻辑存在的地方。模型层的对象存在于一个context内。在大多数的设置中,存在一个context,并且所有的对 象存在于那个context中。Core Data支持许多contexts,但是,对于更多高级的使用情况,每个context和其他context区分的都很清楚。需要记住的是,对象和他们的 context是相关联的,每个被管理的对象都知道自己属于哪个context,并且每个context都知道自己管理着哪个对象。

堆栈的另一部分就是持久化发生的地方了,即是Core Data从文件系统读或写的地方。持久化存存储协调器(persistent store coordinator)都有一个属于自己的持久化存储,并且这个store在文件系统中与SQLite数据库交互。为了支持更高级的设置,Core Data可以将多个存储附属于同一个持久化存储协调器,并且除了SQL可选择的类型外,还有很多存储类型可供选择。

最常见的解决方案,如下图所示:

 

最新文章

  1. 记录一则Linux SSH的互信配置过程
  2. 异构SOA系统架构之Asp.net实现(兼容dubbo)
  3. 2016款MACBOOK PRO触控条版 安装WIN10初体验 及 无奈退货记
  4. Android 手机卫士--事件传递&响应规则
  5. bzoj2653: middle
  6. linux查看主机端口进程命令
  7. Ubuntu虚拟机JeOS安装-2016.08.28
  8. Codeforces Round #267 (Div. 2) C. George and Job DP
  9. SED入门
  10. Java之简单图形面积计算
  11. iOS Foundation框架 -2.常用集合类简单总结
  12. sharepoint 认证
  13. 聊一聊 Android 6.0 的运行时权限
  14. reids客户端 redis-cli用法
  15. 9大理由告诉你为什么应该学习HTML跟CSS
  16. 用jQuery实现鼠标在table上移动进行样式变化
  17. Pytest高级进阶之Fixture
  18. Euclideanloss_layer层解析
  19. OCM_第十三天课程:Section6 —》数据库性能调优 _结果缓存 /多列数据信息采集统计/采集数据信息保持游标有效
  20. 建立你第一个 Outlook Add-in

热门文章

  1. Java 基础 - Set接口 及其实现类HashSet/LinkedHashSet/TreeSet
  2. 重置一发LCT模板
  3. [Luogu] 开关
  4. java枚举类型总结
  5. python基础-跨域问题
  6. 【概率论】1-2:计数方法(Counting Methods)
  7. php win/linux/mac 安装redis扩展或者扩展报错 zend_smart_str.h file not found
  8. Maxim-可自定义的Monkey测试工具(Android)
  9. 1617:转圈游戏 ybt
  10. Selenium处理授权框,登录框,握手框