文档章节

iOS 数据管理 Core Data 简介

 橘子又红了
发布于 2014/05/05 11:15
字数 555
阅读 59
收藏 0

1. Core Data 简介

Core Data 是 针对 Cocoa Touch 程序的全功能数据模型框架,为基于iOS 开发提供了持久数据的解决方案,用于处理应用程序的数据模型需求。

2. Core Data 特性

  • 更改跟踪和撤销支持。Core Data 提供了内置地管理撤销和重置。

  • 关系维护。Core Data 管理数据地变化传播,包括维护对象之间地关系一致性。

  • 延迟操作。Core Data 支持数据地延时加载,减少内存负担

  • 模式迁移。Core Data 提供schema migration 工具可以简化应对数据库结构变化地任务,而且在某些情况下,允许执行高效率地数据库原地迁移工作。

  • 属性值的自动验证。Core Data 的数据对象扩展了标准的key-value 校验方法。

  • 通过与应用程序的控制层的可选集成来支持用户面的显示同步。

  • 完全自动化地支持 key-value 编码和 key-value 显示。

  • 能够支持在内存 和 UI 层 中分组,过滤 和组织数据。

  • 支持在外部数据库中进行对象存储。

  • 完美地读写处理。 NSPredicate 提供了对基本功能、相关子读取和其他高级SQL语言地支持,通过Core Data,开可以支持特定地 Unicode编码,本地化识别读取、排序和正确地表达式等功能。

  • 合并策略。Core Data内置了版本跟踪和开放式锁定来支持多用户写入冲突地解决。

3.Core Data 框架

  • Managed Object Model ,应用程序的数据模型,包含实体(Entity),特性(Property),读取请求(Fetch Request)等。

  • Managed Object Context,类似数据库的表结构,包括实体(Entity),实体又分为三种特性,分别为属性(Attribute),关系(Relationship)和读取属性(Fetched Property)。

  • Persistent Store Coordinator,相当于数据文件管理器,负责从数据文件(SQLite,xml等)中读取数据生产托管对象,或者保存托管对象写入到数据文件。

  • Managed Object,表示数据文件中的一条记录,每一个 Managed Object 对象在内存中对应Entity的 一个数据。

© 著作权归作者所有

共有 人打赏支持
粉丝 1
博文 8
码字总数 1332
作品 0
闵行
Core Data 学习笔记 常用链接整理

目录 Core Data 学习笔记(一)框架简介 Core Data 学习笔记(二)被管理对象模型 Core Data 学习笔记(三)被管理对象 Core Data 学习笔记 应用示例 Core Data 学习笔记 常用链接整理 文章 ...

灰大羊
2015/07/31
0
0
微软提供移植iPhone应用到Windows Phone 7上的工具

windows phone 7 iphone5 微软发布了一个API映射工具、指导手册和一组分享经验的视频,帮助简化移植iPhone/iOS应用程序到Windows Phone 7(WP 7)上的工作。 微软Windows Phone互操作组创建了...

junwong
2012/03/09
0
0
那些在学习iOS开发前就应该知道的事(part 2)

英文原文:Things I wish I had known before starting iOS development—Part 2 如果你还没读这篇文章的第一部分,请先读完了再来看第二部分。 那些在学习iOS开发前就应该知道的事(part 1)...

TomatosX
2015/06/12
0
0
2018 一份"有点难"的iOS面试题(5年iOS开发)

序言: 之前一时兴致在本站上出过一份iOS的中级面试题,引起一些关注,不少同学表示对”隐藏关卡“感兴趣。升级版iOS面试题来了,目测难倒90%iOS程序员,目测一大波程序员撸着袖子在靠近。 ...

原来是泽镜啊
05/26
0
0
GPU vs CPU in iOS

一直以来,我们做产品的时候并没有特别的去考虑CPU/GPU的使用,最近为了提升可视化功能的性能,发现合理使用GPU也是一个可以好好研究的部分,这里总结一下一些有用的信息。 中央处理器 CPU ...

雨_树
07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
0
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
21
5
centos7安装redis及开机启动

配置编译环境: sudo yum install gcc-c++ 下载源码: wget http://download.redis.io/releases/redis-3.2.8.tar.gz 解压源码: tar -zxvf redis-3.2.8.tar.gz 进入到解压目录: cd redis-3......

hotsmile
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部