有些支持Core Data的内置模板是在应用程序委托里面设置Core Data的。但是为了模块化,我们通过应用程序委托惰性地创建CoreDataHelper类的实例:

  • 初始化托管对象模型
  • 根据托管对象模型创建持久化存储区,并据此初始化持久化存储协调器
  • 根据持久化存储协调器来初始化托管对象上下文

  修改程序,创建CoreDataHelper:

  1. 创建新组:Generic Core Data Classes
  2. 创建名为 CoreDataHelper 的class,继承自NSObject,

  加入代码

#import <CoreData/CoreData.h>

@property (nonatomic, readonly) NSManagedObjectContext       *context;
@property (nonatomic, readonly) NSManagedObjectModel *model;
@property (nonatomic, readonly) NSPersistentStoreCoordinator *coordinator;
@property (nonatomic, readonly) NSPersistentStore *store; - (void)setupCoreData;
- (void)saveContext;

1.4.1. Core Data Helper 简介(Core Data 应用程序实践指南)的更多相关文章

  1. 1.4. 为现有的应用程序添加 Core Data 支持(Core Data 应用程序实践指南)

    项目创建时会有 “Use Core Data" ,但是,有时没有勾选这个选项,那么就要手动链接Core Data Framework. 选中 Grocery Dude Target Gene ...

  2. 1.4.2. 实现 Core Data Helper 类(Core Data 应用程序实践指南)

    该类分为四个部分:FILES.PATHS.SETUP.SAVING. 1.4.2.1. FILES 1.4.2.2. PATHS 1.4.2.3. SETUP 1.4.2.4. SAVING 1.4. ...

  3. Core Data 应用程序实践指南(Core Data 应用程序实践指南)

    译者序 前言 勘误 1. 初次尝试Core Data应用程序 本书的基础,基本概念,能做什么,不能做什么.实现CoreDataHelper类,演示如何将Core Data同既有的应用程序相集成. 2. ...

  4. 1.2.Core Data 的适用场合(Core Data 应用程序实践指南)

    如果应用程序要保存的设置数据太多,以致NSUserDefaults及“属性列表“(property list)这种简单的存储方案无法应付.不需要再"重新发明轮子"(reinvent ...

  5. 1.1.1.持久化存储协调器(Core Data 应用程序实践指南)

    持久化存储协调器(persistent store coordinator)里面包含一份持久化存储区,而存储区里又含有数据表里的若干行数据. 与原子存储不同,SQLite数据库会在用户提交变更日志时进 ...

  6. 1.1.Core Data是什么(Core Data 应用程序实践指南)

    Core Data是个框架,把数据当作对象来操作. 由Core Data提供的数据对象叫托管对象(managed objecgt),而Core Data 位于程序和持久化存储区之间. 托管对象模型里有 ...

  7. 2.1. 托管对象模型是什么(Core Data 应用程序实践指南)

    托管对象模型是一种数据结构.在这里,数据结构.纲要.对象图.数据模型.托管对象模型这些术语是一个意思.它们是对同一个东西不同场景的描述.比如,对Core Data 而言是托管对象模型,对设计器来说是对 ...

  8. 1.4.2.3. SETUP(Core Data 应用程序实践指南)

    初始化Core Data的三个方法: init,初始化托管对象模型.持久化存储协调器.托管对象上下文 - (id)init { ) { NSLog(@"Running %@ '%@'&quo ...

  9. 3.3. 轻量级的迁移方式(Core Data 应用程序实践指南)

    持久化存储协调器会试着用新版的模板打开原来的持久化存储区,但是那是旧的模板,旧的格式,当然会出错.现在要做的就是迁移现有的持久化数据区,以便跟新模型匹配. 怎么进行迁移呢? 在什么时候进行迁移? 在向 ...

随机推荐

  1. STM32|4-20mA输出电路

    源:STM32|4-20mA输出电路 为工业场合开发的设备通常情况下都会具有4-20mA输出接口,在以往没有DAC模块的单片机系统,需要外加一主片DAC实现模拟量的控制,或者采用PWM来摸拟DA,但也 ...

  2. Repeater嵌套gridview

    前台:<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSour ...

  3. 内联元素的特点SPAN

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. Mysql 中文乱码问题完美解决方案

    MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如 ...

  5. Android学习笔记之LinearLayout

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  6. cookie讲解-------浏览器种cookie

    1  responce添加Set-Cookie参数: http request的返回responce为: [('Content-Type', 'application/x-javascript'), ...

  7. javascript 基础系列(一)

    闭包: function 内部访问外部的variables function f(){ alert(ysr); } 报错了. Certain language constructs block the ...

  8. 约瑟夫环(java面向对象实现)

    /* * 作者:zhaop * 功能:约瑟夫环 * */ public class Joseph { public static void main(String[] args) { // TODO ...

  9. (简单) POJ 2253 Frogger,Dijkstra。

    Description Freddy Frog is sitting on a stone in the middle of a lake. Suddenly he notices Fiona Fro ...

  10. MAC OS X 10.10 应用程序下载失败后lunchpad产生灰色图标的解决办法

    方法如下:打开应用程序- 实用工具 - 终端. 以此出入如下字符 defaults write com.apple.dock ResetLaunchPad -bool true killall Doc ...