核心应用程序
所有的iPhone应用程序都是基于UIKit框架构建而成的,因此,它们在本质上
具有相同的核心架构。UIKit负责提供运行应用程序和协调用户输入及屏幕显示
所需要的关键对象。应用程序之间不同的地方在于如何配置缺省对象,以及如
何通过定制对象来添加用户界面和行为。
虽然应用程序的界面和基本行为的定制发生在定制代码的内部,但是,还有很
多定制需要在应用程序的最高级别上进行。这些高级的定制会影响应用程序和
系统、以及和设备上的其它程序之间的交互方式,因此,理解何时需要定制、
何时缺省行为就已经足够是很重要的。本章将概要介绍核心应用程序架构和高
级别的定制点,帮助您确定什么时候应该定制,什么时候应该使用缺省的行
为。
核心应用程序架构
从应用程序启动到退出的过程中,UIKit框架负责管理大部分关键的基础设施。
iPhone应用程序不断地从系统接收事件,而且必须响应那些事件。接收事件是
UIApplication对象的工作,但是,响应事件则需要您的定制代码来处理。
为了理解事件响应需要在哪里进行,我们有必要对iPhone应用程序的整个生命
周期和事件周期有一些理解。本文的下面部分将描述这些周期,同时还对
iPhone应用程序开发过程中使用的一些关键设计模式进行总结。
应用程序的生命周期
应用程序的生命周期是由发生在程序启动到终止期间的一序列事件构成的。在
iPhone OS中,用户可以通过轻点Home屏幕上的图标来启动应用程序。在轻
点图标之后的不久,系统就会显示一个过渡图形,然后调用相应的main函数
来启动应用程序。从这个点之后,大量的初始化工作就会交给UIKit,由它装载
应用程序的用户界面和准备事件循环。在事件循环过程中,UIKit会将事件分发
给您的定制对象及响应应用程序发出的命令。当用户进行退出应用程序的操作
时,UIKit会通知应用程序,并开始应用程序的终止过程。
图1-1显示了一个简化了的iPhone应用程序生命周期。这个框图展示了发生在
应用程序启动到退出过程中的事件序列。在应用程序初始化和终止的时候,
UIKit会向应用程序委托对象发送特定的消息,使其知道正在发生的事件。在事
件循环中,UIKit将事件派发给应用程序的定制事件处理器。有关初始化和终止
事件的如何处理的信息,将在随后的“初始化和终止”部分进行讨论;事件处理
的过程则在“事件处理周期”部分介绍,在后面的章节也还有更为详细的讨论。
评论27
最新资源