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

  • 相关阅读:
    修改input:file样式
    gruntjs
    C#Lambda表达式
    C#委托与事件讲解(一)
    Linq的语法以及常用的扩展方法
    正则表达式就这么简单!
    C#参考之sealed密封类(转)
    Python学习(六)
    Python学习(一)
    自动化测试之JDBC连接、分布式负载
  • 原文地址:https://www.cnblogs.com/ghj1976/p/2675337.html
Copyright © 2011-2022 走看看