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

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

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

在图6-1中,我们可以看到有如下五个相关的模块。

(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 中可视化地操作数据对象。

时间: 2024-10-28 07:59:26

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

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——1.5节设计始于思考,终于代码

1.5 设计始于思考,终于代码 iOS应用开发指南--使用HTML5.CSS3和JavaScript "但是等等."你思考着,"我认为所有的应用程序都应该使用Objective-C语言编写?" 是的.然而,这并不意味着你需要自己编写Objective-C代码! 事实上,如果别人已经为你写好了呢? 考虑一下设计显示在Web浏览器的内容的JavaScript框架.例如我最喜欢的jQuery和Yahoo!的用户界面(YUI),协助设计师使用强大的JavaScript行为,

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——2.2节下载和安装iOS SDK

2.2 下载和安装iOS SDK iOS应用开发指南--使用HTML5.CSS3和JavaScript 好在这一过程的其余部分很快速和容易.嗯,主要是容易.不过,呃,也没有那么快,那得要看情况. 问题在于,iOS SDK是我到目前为止下载到电脑里的最大的一个软件.曾经,我在应用程序设计讲习班中用尽各种方法来警告学员下载超过2GB的东西.我的意思是,在它下载的过程中你会感觉自己变老了.所以,如果你在家里使用电缆或者更慢的网络下载它,那么开始下载后,带上你的狗狗去散一个足够长时间的步吧.但是千万不要

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——1.6节小结

1.6 小结iOS应用开发指南--使用HTML5.CSS3和JavaScript下面是我们本章学到的知识. 别让iPhone的名字欺骗了你.事实上它是一个拥有电话应用程序的便携式电脑.这意味这它可以做一些神奇的事情,而我们的设计可以让这些事情成真.整个iOS生态系统对于Apple公司来说是一个战略转型,它将关注生活方式,无所不在的信息,以及内容服务.这为从事数字内容设计的人们提供了巨大的机会.使用iOS是引人入胜的事情,并且更能融入我们的休闲生活中,而不仅仅是工作中.如何设计我们的应用程序才能更

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——2.4节小结

2.4 小结iOS应用开发指南--使用HTML5.CSS3和JavaScript本章你学会的知识有以下这些. 一个新的设计项目或者流程的每个步骤都有重要意义,包括获取和设置你的工具!因此,需要仔细考虑.获得一个唯一的苹果公司开发者ID,以便你保持iTunes购买ID与以开发人员的身份使用iTunes和iTunes Connect完全隔离开.仔细阅读苹果公司开发协议,并确保你对它的规定已经足够熟悉了.像任何协议一样,它创造了机会,同时也定义约束.下载和安装iOS SDK,给你提供了基本的应用程序-

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——2.1节取得苹果公司开发者ID

2.1 取得苹果公司开发者IDiOS应用开发指南--使用HTML5.CSS3和JavaScript为了安装Xcode,需要下载iOS SDK(以前叫做iPhone SDK,2010年7月改名了).但是在寻找SDK之前,需要先取得一个苹果公司开发者ID. 苹果公司开发者ID是应用程序设计.审查.发布.升级.以及(如果你在销售你的应用程序)报酬支付整个流程的联机标识.而且,我怀疑苹果公司想要你最终参与这个过程,所以他们要求你甚至在下载iOS SDK之前就需要注册苹果公司开发者ID.但是不必担心:下载

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——1.1节移动魔力和掌上电脑

1.1 移动魔力和掌上电脑iOS应用开发指南--使用HTML5.CSS3和JavaScript由于iPhone和其他智能手机已经无处不在,对精心设计的移动内容的需求也急剧增加.我们知道一些令人震惊的数字: 到2010年年中销售了超过8500万台iOS设备.iTunes 应用程序商店有超过 250000 个应用程序.从iTunes下载软件的数量超过150亿.我个人体验到这种变革的影响,差不多任何地方都有可用的内容,无论是否需要:在购物时.工作时.跑步时,甚至在滑雪场坐着缆车时.除非我在海滩上或在水

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——2.3节下载和安装NimbleKit

2.3 下载和安装NimbleKitiOS应用开发指南--使用HTML5.CSS3和JavaScript最后一步是无比轻松并且无需详细阐述,读到这里你是不是很高兴?我敢打赌你肯定是! 1.下载NimbleKit(图2.5),请访问: http://www.nimblekit.com/ 图2.5 NimbleKit网站 2.点击下载NimbleKit链接.这一次,你就会有一个小得多的文件 nimblekit.dmg,它会保存到你的下载目录. 3.打开文件,按照提示和指示,安装NimbleKit框架

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——1.4节法宝就是转变

1.4 法宝就是转变iOS应用开发指南--使用HTML5.CSS3和JavaScript所以这里有iOS设备另一个关键的不同点:我们的原生应用程序的内容传递形式,这是我们需要设计的重点. 如果你不确信的话,对比一下其他硬件的屏幕表面区域的尺寸. iPhone.iPod touch和iPad有一个方面非常相似:它们几乎只剩下屏幕.从正面观察,3种设备大约95%的区域是屏幕,而笔记本电脑的屏幕占的比例比50%还少一点点(图1.3).这是重要的区别.即使笔记本电脑的屏幕上显示了一个迷人的网页,很显然它

《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——1.2节内容和情景就是一切

1.2 内容和情景就是一切iOS应用开发指南--使用HTML5.CSS3和JavaScript我为什么要耗费精力在这个相当明显的问题上?因为我提出了很重要的观点,帮助你形象化如何思考设计应用程序的过程. 为了继续这一过程,思考下面这两个日期: 2007年1月9日 和 2010年5月25日 你能认出这两个日期吗?它们两个都非常重要,因为这影响着我们怎么思考iOS的应用程序. 2007年1月9日这一天,苹果电脑公司(Apple Computer,Inc)改名为苹果公司(App,Inc).2010年5

《iOS 8开发指南(第2版)》——第6章,第6.1节MVC模式基础

6.1 MVC模式基础 iOS 8开发指南(第2版) 当我们开始编程时,会发现每一个功能都可以用多种编码方式来实现.但是,究竟哪一种方式才是最佳选择呢?在开发iOS应用程序的过程中,通常使用的设计方法被称为"模型-视图-控制器"模式,这种模式被简称为MVC,通过这种模式可以帮助我们创建出简洁.高效的应用程序. 6.1.1 诞生背景 在创建与用户交互的应用程序时,首先必须考虑如下3点. 用户界面:我们必须提供让用户能够与之交互的东西,例如,按钮和文本框等. 对用户输入进行处理并做出反应.