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

简介:

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

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

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

在图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 和 NSPersistentStore-
Coordinator 对象,前者对用户透明地调用后者对数据文件进行读写。

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


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

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

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