Cocoa基本原理指南 iphone开发基础 pdf

所需积分/C币:10 2011-10-31 12:59:50 3.16MB PDF
1
收藏 收藏
举报

Cocoa 开发基础详解 了解cocoa技术架构 深入开发iphone
扩展,使之支持面向对象的编程。新增的规则简单而又易于学习和使用。由于 是其于 的,您可以自由地将代码直接和 代码混合在一起。而且,您的代码可以调用非 的编 程接口中定义的所有函数,比如 和 您甚至可以将代码混合到 代码中,并将它们 连接在同一个执行文件屮。最后, 支持 为此定义了一个平行的类库,并且实现 了一个将接口映射到 实现的桥机制。 的支持使您可以将本地的对象 对象混合在一起使用(在某些限制下) 重要信息 是熟悉语言的开发者的学习环境,我们并不推荐将它用于产品开发。 会不断进化,而 并不并行维护。 您甚至可以用 即 桥来进行编程。基于 ,您可以用 来书写 程丿 是一种解释性的、注重交互的、及面向对象的编程语言。 使 对象可以向 对象传递消息,就象传递给 对象一样;同时还使 对象可以向 对象传 递消息。更多信息请参见用开发基于的应用程序文档,它位于苹果开发者联盟 )网站上。 核心的类库封装在两个框架中,即 和 框架。和所有框架一样,这两个框架 不仅包含动态共享库(有时是几个兼容版本的库),还包含头文件、文档、和相关的资源。 框架的分割反块了 编程接口分为图形用户界面部分和丰图形接口。这两个框架对于 最终产品为应用程序的工程来说都是必要的。还有几个铰小的、使用编程接口的框架和 起发行,比如 (屏暮保护)和 (地址簿)框架。随着时间的推移,还 会有更多框架加入到操作系统中。史多信息请参见 框架部分。 在 中的位置 图显示了一个简化了的 系统架构框图 图 架构简化视图 Carbor Cocoa Aqua quartz OpenGL QuickTime Darwin 这个框图只是为了一个简单的目的:为那些不熟悉苹果平台的开发者明确指出 的主要组件及其 依赖性。为了简洁,图中省略了一些重要细节,并使其它部分变得模糊。这些细节构成了框图的重要部分, 和 其它部分的关系。 图在架构级别上更为精确地反玦了 的位置。这个框图将 显示为一系列的软件层,从 系统的基础 到各种应用程序环境。位于中间的层代表包含在 (核心服务)和 应用程序服务)这两个主要的雨伞框架下的系统软件。在这个框图中,一个层通常 依赖于县下面的其它层。 图 在 架构中的位置 Carbon Cocoa Jawa D BSD QuickI ime Application Services Core services Kernel environment 在某些方面,这个框图类似于先前的框图。举例来说,主耍负责用户界面渲染的系统组件 (在 框榘中实现是 层的一部分。架构栈的基础部分是 ,包括 在内的 各个部分最终都依赖于 但是,如果您进一步查看雨伞框架中的一个(或一组) 子类或特定的子框架,就会发现 或者 对 其它部分有特定的依赖性,或者通过自身的接口向外部提供基础的技术。图部分显示了 上述的依赖性和夕部接口。 请注意:虽然 依赖于特定的框架,但它并不是仅仅坐在这些框架的上面。在某些情况下, 和其它框架(比如 是对等的,甚至可以实现一些其它对等框架不能实现的任务。 不仅仅 是基础技术上面的一个面向对象的封装层 图进一步考察架构些主要的依赖关系 Ocoa le-system management cint Foundation Pri stir APIs APIs APIs Application services QuickTime Core Graphics openGL Printing u Care Core Services Core oundation Core 苹果公司对进行了认真的设计,使编程接口成为应用程序通常需要的基础技术访问通道 但是如果您需要的某些能力不能在 的接口中找到,或者需要对应用程序进行更为精细的控制,那么 也可以直接使用底层的框架( 就是一个重要的例子,通过调用该框架或 的函数, 您的代码可以画出比 描画方法能做到的、更加复杂而具有细微差别的图像)。幸运的是,使用这些 低级别的框架并不是问题,因为绝大多数依赖框架的编程接凵是用 写的 是其超集 请注意:架构概述部分的目的并不是列举出 有哪些接口或者它对 其它部分有哪些依赖性 相反,概述部分只是考虑最冇趣的部分,日的是绘您一个有关框架架杓的基本思想 依赖的、或者遥过类和方法为之提供访问通道的主要基础框架有 打印子系统。详细信息如卜: 框架的很多类都基于 中对应的封装类型。它们 之间的这种紧密关系使免费硚接技术即在兼容的 和 类型之间实现类 型转换成为可能。某些 的实现又基于 层的部分 使用了 提供的某些服务,因为有些 框架在 和 层屮定位为系统级别的服务。作为例子, 就是这些框架屮特别重 要的一个, 使用了它提供的 (文件管理器)组件来进行不同文件系统表示之间 的转换 描画和图像处理类(相当自然且紧密地)基于 框架, 实现了 和窗口服务器组件 类负责问外提供 的潜在能力。 还使用 提供的应用程序注朋功能来获取与应用程序及文档相关联的图标。 的打印类是打子系统的一个面向对象的接口。 此外, 还使用 环境的 文本编码转换器)服务来处理一些字符串 编码转换。还有一些方法向外提供框架、 框架 柱架、 和框榘的部分功能,分别用于进行电源管理、 措画 处理、以及提供字体 支持 进一步阅读 技术概浏愆一书给出有关框架、服务、技术、和 其它组件的概览。苹 果人机界面指南一书则专注于说明机界面的外观和行为。 应用程序的特性 创建 应用程序,而又不必编写哪怕一行代码的情况是可能的。在中建立一个新的 工陧,然后进行连编就可以了。当然,这个应用程序不做很多工作,至少不做很多有趣的工作。但是,这 个极度简单的应用稈序在鼠标双击时仍然可以启动,可以在上显示图标,可以显示其主菜单和窗口 (标题为 ,可以根据命令将自身隐藏,可以和其它运行着的应用程序互动,还可以处理退出命 令。您可以对这个窗口进行移动、调整尺寸、最小化、和关闭,甚至可以打印包含在窗口中的空白部分。 想像一下如果加入一点代码,您可以做些什么。 在编程方面, 为开发者提供很多免费或代价很低的支持。当然,要成为一个高效率的 开发者 意味着要熟悉新的概念、设计模式、编程接口、和川发工具,而这方面的努力并不是无足轻重的。但是熟 能生巧,编程在很大程度上变成一种将 提供的编程组件和负责定义特殊逻辑的定勹对象及代码装配 在一起、再将这些装配物组合在一起的练习。 接下来的部分是一个简短的列表,说明如何为您的应用程序增加价值,而只需要您加入少量的工作 (有时候甚全不需要): 基本应用程序框架 为事件驱动的行为和应用程序、窗口、工作室间( )的管 理提供了基础设施。在大多数情况下,您不必直接处理事件或发送任何描画命令给渲染库 用户界面对象 为应用程序的用户界面提供了丰富而又现成的对象。这些对象的大部分都 在 (创建用户界面的开发具)的选盘上,您只要简单地将对象从选盘拖搜到界面 上,配置好属性,并将它连接到其它对象上就可以了(当然,您也可以通过编程的方式对其进行实例 化、配置、以及建立对象之间的连接)。下面是一些 用户界面对象的实例: 此外, 还有一些支持用户界面的技术,包括提高可访问性、执行正当性检查、以及连接用 户界面对象和定制对象需要的技术。 描画和图像处理 带有一个可以锁定图形焦点并将视图(或视图的一部分)标识为变脏 的框架,从而支持高效的定制视图描田。 中还有一些描画以齐尔()路径、执行远交变 换、合成图像、以及创建不同图像表示的编程工具类。 系统交互 使您的应用程序可以和文件系统、工作空间、以及其它应用程序进行交互(或 使用它们提供的服务)。 数据交换 通过拷贝粘贴、拖拽模型、以及 菜单简化了应用程序内部和应用程 序之间的数据交换 性能为了増强应用程序的性能,提供了多线程、空闲时间处理、资源的迟缓加载、内存 管理、和运行环操作方面的编稈文持。 基于文档的应用程序 为应用程序提供一种可以包含无限数量的文档架构。每个文档都包 含在它自己的窗口中(比妇一个字处理程序)。事实上,如果您选择 (基于文档的应用程序)工程关型,那么这类应用程序需要的很多组件就自动被创建了。 脚本处理通过应用程序脚本能力信息和一组支持脚本的类,您就可以使白己的应用程序 具有脚本能力。也就是说,您的应用程序可以响应由 脚本发出的命令。应用稈序也可以 通过执行脚本或使用单独的 来向其它应用程序发送命令,或者接受其它应用程序的命令 结果是每个具有脚本能力的应用程序都可以为用户或其它应用程序提供服务。 国际化 使用一种已经精化多年的方法来支持国际化和本地化。这种方法棊于偏好语言的 用户列表,将本地化的资源放到应用程序的程序包( 还提供产生和访问本地化字 符串的工具和编程接口。而且, 中的文木操作缺省情況下是基于 的,因此有利于程 序的国际化。 管理您可以汴册一个用户动作米和管理器协同工作,当用户选择合适的菜单项时 它们会处理(或)动作 管里器通过独立的栈来维护和.作。 文本 提供了一个复杂的文本系统,使您可以进行从简单到较为复杂的文本处理,简单文 本处理的一个例子是在文本视图上显示可编辑的文本,复杂的处理则比如字距和连字的控制、拼写检 査、和嵌入图像。 打印和文本系统相类似,打印架构使您可以打印文档和其它应用程序内容,并进行各种控制调 整。在最简单的级别上,您缺省可以打印各种视图的内容;在较为复杂的级别上,您可以定义打印的 内容和格式,控制一个打印作业如何进行,以及在打印面板上添加必要的视图。 偏好没置用户缺省设置系统基于一个系统范围内的数据厍,您可以将全局或应用程序特有的偏 好设置存储在这个数据库屮 连网 包含一个分有式对象( )架构,它使一个 进程可以和相 同或不同的计算机上的其它进程进行通讯。这个架构还提供将 能力集成到应用程序的编程接 多媒体 提供了 视频和基本音频能力的支持。 开发环境 说有它自己的开发环境并不十分精确。一个原因是程序员可以使用苹果主要的开发工具 和 来川发 其它应用程序环境的程序,比如 其次,廾发 应用程 序时完仝不使用和 也是可能的,比如,您可以使用 的 来管理、编译、和调试 I程;而且,如果您实在不愿意改变,也可以使用像 这样的文本编 辑器来编写代码,用 和命令行进行应用程序的连编,然后在命令行上通过调试器来调试程 但是, 和 是开发 軟件优先使用的工具。它们的起源正好和 是一致 的,所以在工具和框架之间存在高度的兼容性。 和 起,使设计、管理、连编、 和调试 软件工程变得非常容易。还有一个叫 的工具,可以扩展应用程序的能力, 您可以通过这个工具米创建具有脚本能力的 程序和通过 搾制其它应用程序的稈序。 本部分包含如下内容: 其它开发工具 是苹果公司在 下的集成开发环境()引擎。它负责处理从最开始到工程的最终部署 这一过程屮的大多数细节。您可以通过这个工具来完成如下工作 创建和管理工程,包括指定目标的需求、依赖性、和连编的风格。 在具有语沄染鱼、自动缩进等功能的编轾器上编写源代码。 在工程的不同组件屮进行漫游和检索,包括头文件和文档。 连编工程 在图形化的源代码级调试器上调试工程 π以迕编由 和编写的源代码组成的工程,可以生成 支持的所有类型的执行代码,包括命令行I具、框架、插件、内核扩展、程序包、和应用程序。 允许您对连编和调试工具、可执行文件的打包方式(包括信息属性列表和本地化程序包)、连编过 程(包括拷贝文件、脚本文件处理、和其它连编阶段)、以及用户界面(包括分立和多视图的代码编辑器) 进行儿乎无限的定制;还支持几个源代码管理系统(其中有和 使您叮以将文件追加到代 码库、提交修改、获取更新版本、以及进行版本的比较 图显示一个工程的实例 图 中的 实例 Application UIKIt Cocoa touch Application Frameworks Graphics Audio Core frameworks Foundation Core Os(Kernel)& Drivers 特别适合用于开发。在创建工程时 可以通过对应于工稈类型的工稈模板,为您 建立一个初始的开发环境。 工程类型有:应用程序 或)、基于文档的应用程序 或)、工具、程序包、和框架。 使用 编译器(gc)来编译(件, 使用源代码级调试器(gb)来调试软件。在发中使用gcc和gb从它还是 (参见 点历史部分)的时代就开始了。对二进制代码的编译和调试经过多年的精化、扩展、和调优。 也有一个类浏览的功能,可以查看所有导入的 框架类和您自己的定制类,还有它们的继承关 系;从类浏览器中,您可以请求査看任何类的文档。 还包含一些设计工具,其中有一个工具可以用 于设计 程序中使用的数据实体的属性和关系 和另外一个主要的开发工具 良好地集成在一起。在 屮,您可以 定义一个类(包括超类,插座变量,和动作),并为程中的每个类生成源代码文件的框架。在 中 您可以为定制类添加插座变量和动作,然后让 将这些实休导入到文件中。 请注意:简单地说,插座变量()是一个对象和另一个对象的归档连接(表小为对象中的一个实例变 量):动作则是当按健或滑块这类对象被操作时,在被称为目标()的对象(通常是一个定制对象) 中被用的方法。 也会把目标对象和其它对象(称为控件)之间的连接进行归档。史多有 关插座变量、日枟、和动作的信息请参见插座变量和日标动作机制部分。 进一步阅读: 快逖芳南可以使您概览 并为您提供其它开发具文档的连接。 工程的第二个主要开发工具是 。顾名思义, 是用于创建用户界面 的图形工具。 还是 的时候就已绎存在了,而月从那时侯起,它就作 为同类软件中的佼佼者而获得广泛的认可。很自然,它和 的结合是很紧密的。而且您也可以用它来 为 应用程序创建用户界面。 以三个主要的设计元素为中心 文件。文件实际上是以档案的形式对用户界面中出现的对象进行文件包装(一个封装的目 录)。这种档案本质上是一种对象图,包含母个对象的信息,包括对象的尺寸及在其屏幕(如果是个 窗口)或窗口内的位置信息。 应用程序中的文件还包含定制类的代理引用和对象间连接信 息,包括使用 绑定技术建立起米的连接。当您作 中创建并保存一个用户界 面时,重建该界面需要的所有信息都会被存在文件中。文件还可以包含界面中使用的图像和 声音文件 将文件存储在 工程中的一个本地化目录下。在连编工程时,文件就 会被拷贝到新建的程序包中对应的本地化目录下(文件因此可以提供一种很好的用户界面本地化 方法)。 应用程序缺省(也就是说会自动创建)有一个主文件,在运行时自动被 装载和显示。主文件包含应用程序的主菜单,并可能有一个或多个窗口。您的应用程序可以根据 需奘装载辅助的文件,比如文档或预萓奁口所在的文件。 将文件的内容表示在文件窗口中。您也可以在文件窗口中定义定制类及 考察对象之间的连接 选盘。 的选盘()窗口中包含多个面板,或者称为选盘,每个选盈中 包含一个彼此有关系的用户界面对象的集合。对象从选盘拖拽到恰当的位置上就可以创建用户界面 了,这里的位置可以是屏幕、窗口、各种视图、或者主菜单(选盘对象自身不一定是可见的,但是必 须以某种形式影响用户界面)。当您将一个对象从选盘上拖出时, 会实例化一个该 对象的缺省实例。这个实例是一个真正的对象,而不是运行时需要创建的实例的代理对象。 如果您愿意的话,可以将您自己的定制对象放在选盘上。 查看器。 为用户界面上的对象提供一个查看器(称为窗口) 窗口由 ˉ系列可选择的面板组成,用于设置对象的初始属性和尺寸(虽然尺寸和很多属性也可以直接进行操 作)。其中的两个面板用于建立对象之间的连接,一个基于插座变呈和动作,另一个基于绑定技术。 还有一个面板用于将定制类代替 框架中的超类。其它面板较为特殊,专用于建立用户 界面对象和帮助标签及 事件处理器之间的关联。 图显示了一个在 中打川的文件,以及支持窗口。 图 的预置窗口 m Document. m- TextEdit 南 T.:Deve opment(难」 A, i ga asing Mat Active Target Active Build Confguration Acion Build Buile and Restart as<s Info Ed itar roups& Files 1c∞de●▲ H Document.h RFAnMFnf H Document. h 4 Oocumtntcontrollei h 当 Document.m 多 ocumentcantrolle Lc⊥ entail H DocumentPropertles ni b (English) Documenrwindd oocunentwindawrib DC⊥rn Documenthindow. 1 iinentLon M Documentsin dow Controller. m w Controller. h M Controller, m Edit.nib(English: h LinepancICortro m Edit-main am H EncodirgManagerh u FriniPanelAcces M Eriusui yMurtdyErIr 4 ScalingScrollvic -Enunra inn, framework v Scalingscrollviei b A DocUment m: l <No selected symbol>, =c,#, 孟 Multiple Pageview shaefocuient ler] M Multiple Pageve etan:27sdr-dψlTy如m的91的[2L L01的tB01m]19 norERTf :[_ontTolier Las5et1m了!h igorchTML i [doe control lor I 001 alcttodlghoroHTHL. arMOR ioutErLorI H Ence din gMarag M EnceaIngMarag KBDOL y cadFronRL: (NUEL +ubio lutcUFL of Type: i NIstrirg +)typhae nooding H TeA: EditOrs. h (hS5tringEncudingencodin igoreRTF: Go. )igmreRTf IcnureHTHIL E0L)1gm所TL了: THor As outEr dit ma in M必的叶:m1冷=ⅣYtbl11nad=t!hm1t正1vy DIctloneoy docktor -Resoures Fles NoTextLoruge ktext [self textstorog]: b External Frame 址1器Dm叶1 B Into-TentEditaINe [c1h令公时1[ lear HlNB=11mh1 gr=qo的! TErgat ↑rK'HNsh b< Executables EeIf setEncoding: encoding] A Errors and war ning a Fin resull ∥ thH-k. LYH Lu beH ue uulu luu H uuLultIL us plu!II,l是tutu bLE Bookmark hick..m't二四m1.h1ch‘ Ng o cnother ch中k 用 创建用户界面的步骤比较直接 将窗口或面板拖拽到屏幕上(面板等冋于对话框或辅助窗口)。 设置窗口的初始(或固定的)位置、尺寸、和属性。 将文本框、按键、表视图控件、和弹出式列表等对象拖到窗口或之前放好的视图对象上。 为这些对象设置初始(或固定的)位置、尺寸、和属性。 为应用程序定义定制类。 您可以直接在 中完成这个工作,或者将事先创建好的头文件装拔到 。在进行类的定制时,可以通过 指定插座变量和动作。 在对象之问建立绑定和连接。这有两种形式 在应用程序的视图、控制器、和模型对象之间建立绑定关系。 把插座变量连接到它们引用的对象,接着把动作连接到目枟对象中合适的方法上。 保存和测试用户界面。 有一个功能,可以在设计的各个阶段测试界面(定制的行为除外)。

...展开详情
试读 127P Cocoa基本原理指南 iphone开发基础 pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚积分or赚钱
    最新推荐
    Cocoa基本原理指南 iphone开发基础 pdf 10积分/C币 立即下载
    1/127
    Cocoa基本原理指南 iphone开发基础 pdf第1页
    Cocoa基本原理指南 iphone开发基础 pdf第2页
    Cocoa基本原理指南 iphone开发基础 pdf第3页
    Cocoa基本原理指南 iphone开发基础 pdf第4页
    Cocoa基本原理指南 iphone开发基础 pdf第5页
    Cocoa基本原理指南 iphone开发基础 pdf第6页
    Cocoa基本原理指南 iphone开发基础 pdf第7页
    Cocoa基本原理指南 iphone开发基础 pdf第8页
    Cocoa基本原理指南 iphone开发基础 pdf第9页
    Cocoa基本原理指南 iphone开发基础 pdf第10页
    Cocoa基本原理指南 iphone开发基础 pdf第11页
    Cocoa基本原理指南 iphone开发基础 pdf第12页
    Cocoa基本原理指南 iphone开发基础 pdf第13页
    Cocoa基本原理指南 iphone开发基础 pdf第14页
    Cocoa基本原理指南 iphone开发基础 pdf第15页
    Cocoa基本原理指南 iphone开发基础 pdf第16页
    Cocoa基本原理指南 iphone开发基础 pdf第17页
    Cocoa基本原理指南 iphone开发基础 pdf第18页
    Cocoa基本原理指南 iphone开发基础 pdf第19页
    Cocoa基本原理指南 iphone开发基础 pdf第20页

    试读结束, 可继续阅读

    10积分/C币 立即下载 >