•   Core Data   是 iOS SDK   里的一个很强大的框架,允许程序员 以面向对象 的方式储存和管理数据 。使用 Core Data 框架,程序员可以很轻松有效 地通过面向对象的接口

Core Data 框架提供了 对象 - 关系映射 (ORM) 的功能,即能够将 OC 对象转 化成数据,保存在 SQLite3 数据库文件中,也能够将保存在数据库中的 数据还原成 OC 对象

•   在数据操作过程中,无需编写任何 SQL 语句

managed object context :是基于对象来说的负责的是对数据和对象之间的交互的。

manage object model:是对象模型,对应的是xcode中的模型文件。

persistent store coordinator:是对象和实体之间的转换协调起,用于管理不同存储对象的上下文关系

persistent object store :就是持久化对象的数据库

如果还不懂那么看下面这张图

最底层的就是PersistentObjectStore,也就是我们实际存储数据的结构;

图中的模型就是ManagedObjectModel,就是数据转化为对象的模型;

以SQLite数据库为例:

  • 读取数据库的数据时,数据库数据先进入数据解析器,根据对应的模板,生成对应的关联对象。
  • 向数据库插入数据时,对象管理器先根据实体描述创建一个空对象,对该对象进行初始化,然后经过数据解析器,根据对应的模板,转化为数据库的数据,插入数据库中。
  • 更新数据库数据时,对象管理器需要先读取数据库的数据,拿到相互关联的对象,对该对象进行修改,修改的数据通过数据解析器,转化为数据库的更新数据,对数据库更新。

这些还是要在使用中进行加深理解

推荐你们如果工作中使用到core data 的话推荐一个第三方库给你们交magical recad;

如果查找一条数据的话,我们数据库会首先进入数据解析器里面(persistent store coordinator )根据一定的数据模型来来生成对应的关联对象

再比如插入一条数据的时候,对象管理器(mangedobject context)会先根据实体描绘一个空的对象,然后经过(persistent store coordinator )根据对应的model 转化为数据库中的数据插入到数据库中

core data 介绍相关推荐

  1. iOS Core Data

    基本概念 当前,各类应用开发中只要牵扯到数据库操作通常都会用到一个概念"对象关系映射(ORM)".例如在Java平台使用Hibernate,在.NET平台使用Entity Fram ...

  2. Core Data 迁移与版本管理

    原文  http://chun.tips/blog/2014/11/28/core-data-ban-ben-qian-yi-jing-yan-zong-jie/ 主题 Core Data iOS开发 ...

  3. 使用core data

    要使用core data,首先要得到 NSManagedObjectContext 之前看过斯坦福2011年冬的公开课程视频,介绍过有2种方法得到 1.为通过UIManagedDocument 2.是 ...

  4. 手把手教你从Core Data迁移到Realm

    来源:一缕殇流化隐半边冰霜 (@halfrost ) 链接:http://www.jianshu.com/p/d79b2b1bfa72 前言 看了这篇文章的标题,也许有些人还不知道Realm是什么,那 ...

  5. Core Data系列二——基础概念

    本文介绍的Core Data的基本概念是基于最常见的场合: Core Data配合SQLite数据库使用.Core Data也可以处理内存中的数据,这点不在讨论范围内 Core Data中基本的类 N ...

  6. Core Data 编程指南

    一.技术概览 1. Core Data 功能初窥 对于处理诸如对象生命周期管理.对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案.它有以下特性. (注:对象图-Object g ...

  7. 「最简单」的 Core Data 上手指南

    本文讲的是「最简单」的 Core Data 上手指南, 原文地址:The Easiest Core Data 原文作者:Alberto De Bortoli 译文出自:掘金翻译计划 译者:Zheaol ...

  8. 谈谈用SQLite和FMDB而不用Core Data

    谈谈用SQLite和FMDB而不用Core Data 发布于:2014-04-22 11:22阅读数:4235 凭良心讲,我不能告诉你不去使用Core Data.它不错,而且也在变好,并且它被很多其他 ...

  9. Core Data 使用

    简单的介绍一下 ios 数据持久化  Core Data 使用 话不多说,直接上图 接下来,在工程中 command+N 新建Core Data 文件 创建成功后,接下编辑Core Data 文件 接 ...

最新文章

  1. 将python3.1+pyqt4打包成exe
  2. 找不到具有指定ID的对话框类解决方法
  3. (二)Amazon Lightsail 部署LAMP应用程序之部署单片LAMP应用程序
  4. 一步一步CCNA之六:交换机vtp配置
  5. 用户被忽悠 微软黑屏计划推至21日0点实施
  6. 7款Flash和Javascript网页视频播放器
  7. 对android.mk debug
  8. Envious Exponents
  9. java计算机毕业设计宠物店管理系统源码+数据库+系统+lw文档+部署
  10. 配置Windows静态IP地址
  11. Kosaraju算法+Trajan算法
  12. IOS开发-苹果开发者中心 提示 edit phone number
  13. SMILES:化学结构的线性表示方法
  14. mysql 启动失败 详情_mysql启动失败一例
  15. ps如何切html用的图片,前端实战(一)-----用ps把PSD切成HTML能用的图片
  16. Debian修改时区
  17. 2016年8月18日 星期四 --出埃及记 Exodus 16:19
  18. VS2019 C++的跨平台开发——Android .so开发
  19. [读书笔记]读<<观止>>有感
  20. datagridvie设置行高列宽_DataGridView 列宽和行高自动调整的设定

热门文章

  1. Linux Deepin 输入法缩放折腾问题-装个搜狗就完事了
  2. 定位模块如何实现公交系统智能化
  3. Antd Charts 折线图(面积图)踩的坑
  4. c语言bim的题目,【BIM建模应用技术考试练习题一】- 环球网校
  5. java : mozilla rhino js Test URL or Socket
  6. 3318. 【BOI2013】Brunhilda的生日
  7. 国考面试的形式主要有结构化、无领导小组和结构化小组
  8. 第十三篇 人生中的第一桶金
  9. 50 行 Python 代码制作一个数据大屏
  10. 普通本科毕业一年,刷完这1000道JAVA面试题,成功逆袭上岸