zoukankan      html  css  js  c++  java
  • CoreData框架

    框架概图

    24752 1314850908RwoV

    1、被管理对象模型(Managed Object Models)

    多数Core Data的功能依赖于你创建的,用来描述程序的实体(Entity)及其属性(Property)、关系(Relationships)的模型图。 模型图由NSManagedObjectModel所表示。一般说来,模型的信息越充实,Core Data能提供的功能就越好。

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

    2、Managed Object Context

    你可以把被管理对象上下文想象成一个”聪明“的便笺簿。当你从数据持久层获取对象时,就把这些临时的数据拷贝拿到写在自己的便笺簿上(当然,在便笺上对象会 “恢复”以前的对象图结构)。然后你就可以随心所欲的修改这些值了(本子是你的,随便画都可以),除非你保存这些数据变化,否则持久层的东西是不会变 的。(跟修改文件后要保存是一个道理)。

    Managed Object Context 参与对数据对象进行各种操作的全过程,并监测数据对象的变化,以提供对 undo/redo 的支持及更新绑定到数据的 UI。

    3、持久化存储助理(Persistent Store Coordinator)

    程序中的对 象和外部存储的数据通过Core Data框架中的一系列对象进行协调,这一系列的对象总的被称为持久存储栈(Persistence stack)。在栈顶是被管理对象上下文(Managed object context),而栈底是持久化对象存储层(Persistence object store)。在它们之间就是持久化存储助理。

    4、Managed Object

    附在Core Data框架中模型对象(Model objects)常被称为“被管理对象”(Managed objects)。所有的被管理对象都要通过上下文进行注册。使用上下文,你可以在对象图中添加、删除对象,并记录对象的更改(包括单个对象,或是对象间 的关系)。记录更改后就能支持撤销和重做的功能。同时,上下文还能保证关系更改后对象图的完整性。

    5、Controller

    图中绿色的 Array Controller, Object Controller, Tree Controller 这些控制器,一般都是通过 control+drag 将 Managed Object Context 绑定到它们,这样我们就可以在 nib 中可视化地操作数据。

    参考资料:

    [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解
    http://blog.csdn.net/kesalin/article/details/6739319

    iOS学习笔记——Core Data
    http://hxsdit.com/1622

    Core Data 编程指南
    http://www.cocoachina.com/iphonedev/sdk/2010/1126/2397.html

    苹果开发之Cocoa编程(第三版)(中文版)
    http://download.csdn.net/download/wzy_fly/3531601

  • 相关阅读:
    启动php-fpm时报错
    安装php时,make test报错
    安装php时,make步骤报错make: *** [sapi/fpm/php-fpm] Error 1
    安装php时,make步骤报错make: *** [ext/gd/gd.lo] Error 1
    运行phpize时出现:Cannot find autoconf. Please check your autoconf installation
    Linux下安装php加速组件XCache
    加速器eaccelerator不兼容高版本php
    Apache下Worker模式MPM参数分析
    Linux SVN直接删除版本库文件
    Linux SVN一次增加多个文件并批量上传
  • 原文地址:https://www.cnblogs.com/ghj1976/p/2675337.html
Copyright © 2011-2022 走看看