Core Data概述(转)
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可选择的类型外,还有很多存储类型可供选择。
最常见的解决方案,如下图所示:
最新文章
- 记录一则Linux SSH的互信配置过程
- 异构SOA系统架构之Asp.net实现(兼容dubbo)
- 2016款MACBOOK PRO触控条版 安装WIN10初体验 及 无奈退货记
- Android 手机卫士--事件传递&;响应规则
- bzoj2653: middle
- linux查看主机端口进程命令
- Ubuntu虚拟机JeOS安装-2016.08.28
- Codeforces Round #267 (Div. 2) C. George and Job DP
- SED入门
- Java之简单图形面积计算
- iOS Foundation框架 -2.常用集合类简单总结
- sharepoint 认证
- 聊一聊 Android 6.0 的运行时权限
- reids客户端 redis-cli用法
- 9大理由告诉你为什么应该学习HTML跟CSS
- 用jQuery实现鼠标在table上移动进行样式变化
- Pytest高级进阶之Fixture
- Euclideanloss_layer层解析
- OCM_第十三天课程:Section6 —》数据库性能调优 _结果缓存 /多列数据信息采集统计/采集数据信息保持游标有效
- 建立你第一个 Outlook Add-in
热门文章
- Java 基础 - Set接口 及其实现类HashSet/LinkedHashSet/TreeSet
- 重置一发LCT模板
- [Luogu] 开关
- java枚举类型总结
- python基础-跨域问题
- 【概率论】1-2:计数方法(Counting Methods)
- php win/linux/mac 安装redis扩展或者扩展报错 zend_smart_str.h file not found
- Maxim-可自定义的Monkey测试工具(Android)
- 1617:转圈游戏 ybt
- Selenium处理授权框,登录框,握手框