Core Data系列二——基础概念
本文介绍的Core Data的基本概念是基于最常见的场合: Core Data配合SQLite数据库使用。Core Data也可以处理内存中的数据,这点不在讨论范围内
Core Data中基本的类
- NSEntityDescription: 数据库实体的描述
- NSManagedObject: 数据库中数据条目的描述
- NSPersistentStore: 数据库
- NSPersistentStoreCoordinator: 数据库管理者
- NSManagedObjectModel:数据库schema文件,描述实体以及实体之间的关系
- NSManagedObjectModelContext:数据库数据的上下文
- NSMappingModel:数据库模型的迁移文件
- NSMigrationManager: 数据库迁移的管理者
- Core Data中的文件类型
- .xcdatamodeld: xcode的数据模型文件,打包到bundle中后缀.momd
- .xcdatamodel: xcode的各个版本的数据模型文件,在bundle中后缀为.mom
- .xcmappingmodel: xcode的版本迁移文件, 在bundle中后缀为.cdm
Core Data Stack
数据库中所有的组件绑定在一起,称为堆栈。堆栈的核心是psc(Persistent Store Coordinator), 它是上层对象图管理部分和下层持久化存储部分相互通知变化的协调者。这三者共同构成了堆栈中的元素。
以moc(managed object context)的save操作为例。moc计算出需要保存的变化,通知给psc。psc通知给具体的ps(persistent store)做保存操作。 psc只是简单的协调ps和moc之间的交互, ps类负责生成具体的sql代码,把变化写入到数据库文件中。
重要说明: 关于Core Data Stack 的描述和配图来自于网络,非原创。由于弄丢了资料来源,如有侵权请告知,将注明原出处。
转载于:https://www.cnblogs.com/mindyme/p/4910525.html
Core Data系列二——基础概念相关推荐
- SEO系列之基础概念
原文地址:SEO系列之基础概念 - 文章详情 SEO系列之基础概念 SEO是什么,SEO对我们来说有什么用,SEO能用在哪里?在学习SEO之前,我们必须要知道自己要学的是什么,有什么用,怎么用.带着问 ...
- 图层几何学 -- iOS Core Animation 系列二
<图层树和寄宿图 -- iOS Core Animation 系列一>介绍了图层的基础知识和一些属性方法.这篇主要内容是学习下图层在父图层上怎么控制位置和尺寸的. 1.布局 首先看一张例图 ...
- Spring Data 系列(二) Spring+JPA入门(集成Hibernate)
通过[Spring Data 系列(一) 入门]的介绍,通过对比的方式认识到Spring提供的JdbcTemplate的强大功能.通过使用JdbcTemplate,操作数据库,不需要手动处理Conne ...
- Core Data系列三——基本使用
本文分两个部分,第一部分为使用Xcode IDE来建立data model以及nsmanagedobject subclass, 第二部分为代码中对数据库进行CURD的操作 Xcode操作步骤 创建D ...
- Tableau实战系列Tableau基础概念全解析 (二)-万字长文解析数据类型及数据集
前言 以下是我为大家准备的几个精品专栏,喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) tableau可视化数据 ...
- kubernetes系列二:概念梳理
文章目录 一.资源对象管理 1.资源对象概述 (1)Pod (2)Replication Controller & RC (副本控制器) (3)Replica Set & RS (副本 ...
- Prometheus(二)基础概念
文章目录 一.数据模型 指标名称和标签 Samples (样本) 表示法 二.指标类型 Counter(计数器) Gauge(仪表) Histogram(直方图) Summary 三.Job 和 In ...
- Tableau实战系列Tableau基础概念全解析 (三)-维度和度量
前言 连接到新数据源时,Tableau 会将该数据源中的每个字段分配为 "数据"窗格的维度或度量,具体情况视字段包含的数据类型而定.你使用这些字段来构建数据的视图. 以下是我为大家 ...
- Tableau可视化分析实战系列Tableau基础概念全解析 (一)-数据结构及字段
前言 什么是维度和度量?为何有一些字段维度和其他度量? 为何一些字段的背景颜色是蓝色,而另外一些字段的背景颜色是绿色? 添加筛选器会对我的可视化项产生怎样的影响? 以下是我为大家准备的几个精品专栏,喜 ...
最新文章
- 用python深度优先遍历解迷宫问题
- 一文让你搞懂YOLO难关!
- jSearch(聚搜) v0.5.0 发布,多项更新和体验优化
- 人工智能时代,为什么很多人都看好Python的发展?
- HTTP基础及基本配置
- ORACLE 11g R2 RAC群集堆栈的关闭过程分析
- 【php7扩展开发二】全局变量
- 3步实现Jetty和Eclipse集成
- 【HDU - 1530】Maximum Clique(最大团问题,图论)
- (王道408考研数据结构)第三章栈和队列-第三节1:栈的应用之括号匹配问题和表达式问题(前缀、中缀和后缀)
- 基于Jenkins 快速搭建持续集成环境
- android个人理财通项目_怎么开通微信理财通,利用闲钱赚收益
- 八种不要钱的男士护肤方法 - 生活至上,美容至尚!
- 使用sqlplus显示中文为乱码的解决办法
- 2014大众点评Hackathon参赛感想
- 计算机上安装的网络协议,win10系统正确安装网络协议的方法
- 易宝支付[钱麦](附代码)
- android画面传输到电视,想把手机画面投屏到电视上,这个方法最简单!(收藏)...
- selenium 模拟IE浏览器click元素无反应的解决方案 (python3)
- 如何开发一个小程序游戏?
热门文章
- php性能优化二(PHP配置php.ini)
- [BZOJ 2434][Noi2011]阿狸的打字机(AC自动机+树状数组+dfs序)
- Bash shell的内建命令:type
- iOS中 最新微信支付/最全的微信支付教程详解 韩俊强的博客
- jQuery的ajax()、post()方法提交数组,参数[] 问题
- 又一访问access
- JS系统库:预定义对象(内建对象)
- Quartz执行周期配置
- Vue 2.x + Webpack 4.x的那些事---萌新必备
- 使用WGAN生成手写字体