《iOS 8开发指南(第2版)》——第6章,第6.4节数据模型

简介:

本节书摘来自异步社区《iOS 8开发指南(第2版)》一书中的第6章,第6.4节数据模型,作者 管蕾,更多章节内容可以访问云栖社区“异步社区”公众号查看

6.4 数据模型
iOS 8开发指南(第2版)
Core Data抽象了应用程序和底层数据存储之间的交互。它还包含一个Xcode建模工具,该工具像Interface Builder那样可帮助我们设计应用程序,但不是让我们能够以可视化的方式创建界面,而是让我们以可视化方式建立数据结构。Core Data是Cocoa中处理数据、绑定数据的关键特性,其重要性不言而喻,但也比较复杂。

下面先给出一个如图6-1所示的类关系图。


99eeb095cee8e0802a9b213d1a98d89e15b26e9f

(1)Managed Object Model

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

(2)Managed Object Context

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

(3)Persistent Store Coordinator

Persistent Store Coordinator 相当于数据文件管理器,处理底层的对数据文件的读取与写入,一般我们无需与它打交道。

(4)Managed Object Managed Object数据对象

与 Managed Object Context相关联。

(5)Controller图中绿色的Array Controller、Object Controller和Tree Controller

这些控制器一般都是通过“control+drag”将Managed Object Context绑定到它们,这样就可以在 nib 中以可视化地方式操作数据。

上述模块的运作流程如下所示。

(1)应用程序先创建或读取模型文件(后缀为xcdatamodeld)生成 NSManagedObjectModel 对象。Document应用程序是一般是通过 NSDocument 或其子类 NSPersistentDocument)从模型文件(后缀为 xcdatamodeld)读取。

(2)然后生成 NSManagedObjectContext 和 NSPersistentStoreCoordinator 对象,前者对用户透明地调用后者对数据文件进行读写。

(3)NSPersistentStoreCoordinator从数据文件(XML、SQLite、二进制文件等)中读取数据生成 Managed Object,或保存Managed Object写入数据文件。

(4)NSManagedObjectContext对数据进行各种操作的整个过程,它持有 Managed Object。我们通过它来监测 Managed Object。监测数据对象有两个作用:支持 undo/redo 以及数据绑定。这个类是最常被用到的。

(5)Array Controller、Object Controller和Tree Controller等控制器一般与 NSManagedObject-Context 关联,因此,可以通过它们在nib 中可视化地操作数据对象。

相关文章
|
安全 API 开发工具
iOS静态库SDK开发指南
iOS静态库SDK开发指南
182 0
iOS静态库SDK开发指南
|
存储 开发框架 C#
iOS数据持久化之二——归档与设计可存储化的数据模型基类(二)
iOS数据持久化之二——归档与设计可存储化的数据模型基类
195 0
iOS数据持久化之二——归档与设计可存储化的数据模型基类(二)
|
存储 iOS开发 开发者
iOS数据持久化之二——归档与设计可存储化的数据模型基类(一)
iOS数据持久化之二——归档与设计可存储化的数据模型基类
140 0
iOS数据持久化之二——归档与设计可存储化的数据模型基类(一)
|
定位技术 iOS开发
iOS原生地图开发指南再续——地图覆盖物的应用
iOS原生地图开发指南再续——地图覆盖物的应用
245 0
iOS原生地图开发指南再续——地图覆盖物的应用
|
定位技术 iOS开发 索引
iOS原生地图开发指南(二)
iOS原生地图开发指南
248 0
|
定位技术 API 开发工具
iOS原生地图开发指南(一)
iOS原生地图开发指南
470 0
iOS原生地图开发指南(一)
|
移动开发 JavaScript UED
《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——导读
本节书摘来自异步社区《iOS应用开发指南——使用HTML5、CSS3和JavaScript》一书中的目录,作者 【美】Kristofer Layon,更多章节内容可以访问云栖社区“异步社区”公众号查看
1429 0