1.1.3.托管对象上下文(Core Data 应用程序实践指南)
管理托管对象的生命周期(lifecycle)。还有其它功能:faulting、变更追踪(change tracking)、验证(validation)等。
faulting:只把用到的那一部分数据从持久区里获取出来(第10章)。
变更追踪:用于支持重做及撤销功能。
验证机制:确保由托管对象模型所订立的规则。比方说,可以针对实体的单个属性来限定其最小值或最大值(第2章)。
托管对象上下文也可以不止一个。有时我们需要在后台处理任务(比如把数据保存到磁盘或导入数据),这种情况下可以使用多个托管对象上下文。假如在前台上下文(foreground context)上调用save:,用户界面就可能会出现卡顿(lag)现象。避免这个问题,可以在用户按下Home键时调用save:。还有个稍微复杂但是更灵活的方法,采用两个托管对象上下文。前台上下文先把数据保存到后台数据上下文,后台上下文把数据异步保存到磁盘。
iOS5以后就可以配置多个上下文之间的上下级关系。子上下文会把父上下文视为持久化存储区,而父上下文用来处理各种繁重的操作(后台保存数据等)(第11章)。
创建托管对象上下文,需要创建NSMangedObjectContext类的实例。
1.1.3.托管对象上下文(Core Data 应用程序实践指南)的更多相关文章
- 2.14. 删除托管对象(Core Data 应用程序实践指南)
删除托管对象,只要调用托管对象上下文的deleteObject 或 deleteObjects就可以了.同样,真正的删除,要在调用save:之后.
- 2.11. 创建托管对象(Core Data 应用程序实践指南)
到现在为止,还没有创建过托管对象,回顾了一下,只是创建了托管对象模型,持久化存储区,持久化存储协调器,托管对象上下文. 那么,现在就来创建托管对象吧. 使用NSEntityDescription 的 ...
- 2.13. 获取托管对象(Core Data 应用程序实践指南)
用NSFetchRequest获取NSArray,里面都是托管对象.如果上下文里没有数据,就会从持久化存储区里获取. NSFetchRequest *request = [NSFetchRequest ...
- 1.1.Core Data是什么(Core Data 应用程序实践指南)
Core Data是个框架,把数据当作对象来操作. 由Core Data提供的数据对象叫托管对象(managed objecgt),而Core Data 位于程序和持久化存储区之间. 托管对象模型里有 ...
- 1.4.1. Core Data Helper 简介(Core Data 应用程序实践指南)
有些支持Core Data的内置模板是在应用程序委托里面设置Core Data的.但是为了模块化,我们通过应用程序委托惰性地创建CoreDataHelper类的实例: 初始化托管对象模型 根据托管对象 ...
- Core Data 应用程序实践指南(Core Data 应用程序实践指南)
译者序 前言 勘误 1. 初次尝试Core Data应用程序 本书的基础,基本概念,能做什么,不能做什么.实现CoreDataHelper类,演示如何将Core Data同既有的应用程序相集成. 2. ...
- 2. 托管对象数据模型的基本知识(Core Data 应用程序实践指南)
第一章的例子配置好了持久化存储区.持久化存储协调器.托管对象上下文.但是还没有对象图,本章要介绍托管对象模型的基础知识,并配置范例程序的对象图. 2.1. 托管对象模型是什么 托管对象模型是一种数据结 ...
- 1.4.2.3. SETUP(Core Data 应用程序实践指南)
初始化Core Data的三个方法: init,初始化托管对象模型.持久化存储协调器.托管对象上下文 - (id)init { ) { NSLog(@"Running %@ '%@'&quo ...
- 2.7. 属性的各种设置选项(Core Data 应用程序实践指南)
可供配置的选项根据属性类型的不同有所变化,并不是每一种属性都能配置下列选项 Transient:勾选该选项,表示该属性不写入“持久化存储区”,这听起来很奇怪,但有时候,只需要把特性留在托管对象上下文就 ...
随机推荐
- gen_compile.sql
set echo off pagesize 0 feedback off define v_input_un = &1define v_input_pw = & ...
- ormlite 批处理操作
提高ormlite的批处理速度 http://stackoverflow.com/quegoogstions/11761472/ormlites-createorupdate-seems-slow-w ...
- javascript类的继承
1.构造函数方式写类,通过方法调用复制父类属性/字段到子类 实现继承 这里父类,子类都采用构造函数方式写,不用原型.子类调用父类函数来复制父类的属性. 1 2 3 4 5 6 7 8 9 10 11 ...
- Android里merge和include标签的使用
1.使用<include /> 标签来重用layout代码 如果在一个项目中需要用到相同的布局设计,可以通过<include /> 标签来重用layout代码,该标签在andr ...
- Delphi引用C对象文件(转)
源:http://blog.csdn.net/henreash/article/details/7357618 C语言应用非常广泛,并在世界各地拥有大量的代码库.这些代码库与Delphi的可比性较小, ...
- 解决IE6中PNG图出现灰色背景问题
第 1 种方法:定义一个样式,给某个div应用这个样式后,div的透明png背景图片自动透明了.(注意两处图片的路径写法不一样,本例中,icon_home.png图片与html文件在相同目录) < ...
- Java谜题——类谜题(二)
1.域的隐藏 代码如下: class Base { public String className = "Base"; } class Derived extends Base { ...
- A tutorial that will show you how to build an instant messaging app with Sinch.
http://stackoverflow.com/questions/26247986/unsatisfiedlinkerror-couldnt-load-sinch-android-rtc-from ...
- javascript open window
参数 | 取值范围 | 说明alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后 alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上 depended ...
- Application Fundamentals
Application Fundamentals 署名:译言biAji 链接:http://developer.android.com/guide/topics/fundamentals.html 应 ...