iPhone核心应用程序架构

来源:互联网 发布:英雄杀cdkey 淘宝 编辑:程序博客网 时间:2024/06/05 04:38

      本文主要介绍iPhone应用程序的基本架构和原理。

 

      iPhone应用程序从启动到退出的过程中,UIkit框架负责大部分关键的管理。iPhone应用不断的从系统那里接收事件,而且必须响应那些事件。接收事件是UIApplication对象的工作,但是响应事件则是程序员来负责定制。我们先来了解下整个iPhone应用程序的生命周期和事件周期。

 

     在点击应用程序图标后,系统先会显示一个过渡图形,然后调用相关的main函数来启动程序。这个点之后,大量的初始化工作就交给了UIkit,由它装载应用程序的用户界面和准备事件循环。 当用户进行退出应用程序的操作时,UIkit会通知应用程序,并开始应用程序的终止过程。应用程序的生命周期如下图:

 

 

 

在iPhone应用程序中,main函数实际上仅仅被最小程度使用,应用程序运行所需的大多数实际工作由UIApplicationMain函数来处理。iPhone的main函数如下:

#import <UIKit/UIKit.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}

 

其中UIApplicationMain函数的前两个参数是由main函数传入,后两个参数为字符串,分别用于标识应用程序的首要类(即应用程序对象所属的类)和应用程序委托类。 如果首要类字符串参数设置为nil,UIkit就默认使用UIApplication类。如果应用程序委托类为nil,则UIKit默认使用应用程序主nib文件中对应的委托对象。