background image

“Hello World”看 iOS 应用的生命周期

    做

iPhone 开发

首先第一件就是得知道

iPhone 程序的生命周期,说白点就是当点击程序图

标启动程序开始到退出程序整个使用运行过程中底下的代

 码都发生了什么,只有理解了这

个才能游刃有余的掌握

iPhone 程序的开发,否则在写程序的时候有点浑浑僵僵不知所以然

的感觉。首先忘记

Xcode 给我们 生成的代码模板,忘记 xib 忘记 ib,我们亲自一行一行来写

一个

Hello World 程序,虽然真正开发项目的时候并不需要这样做 Xcode 模板和 ib 都会为我

们做好这些打杂的事情,但是现在完全由我们自己来写,放心这个程序是

 个非常的简单的

Hello World 程序,代码也很少总共加起来不过 10 几行。

    在这之前我们先来看看 Objective-C 语言的关于这段协议代码:

@protocol SimpleProtocol

-(void)doSomething:(NSString *)str;

@end

@interface SimpleClass:NSObject< SimpleProtocol >{

}

@end

@implementation SimpleClass

-(void) doSomething:(NSString *)str{

   NSLog(str);

}

@end

    这样是一个简单的协议示例,类 SimpleClasss 实现了名为 SimpleProtocol 的协议。协议在
其它语言里跟接口非常类似,记住这个协议的实现,接下来会有用的。

    接下来用 Xcode 新建一个名为 HelloWorld 的 Window-based Application 类型的项目。大体
上讲一下项目的文件结构,由

Xcode 模板生成的项目主要包含 Classes(Hello World 

Appdelegate.h 和 Hello World Appdelegate.m)、Other Sources(main.m 和 Hello 
World_Prefix.pch)、Resources(Main Window.xib 和 Hello World-info.plist)、Frameworks(iPhone 
SDK 提供的系统框架)、Products(Hello World.app)这几部分。直接运行这个工程会在模拟器里
看到一个白色的显示界面程序,由此可见没写一行代码

Xcode 已经给我们生成了一个很简

单的

 项目模板。

    每一个 iPhone 程序都包含一个 UIApplication 对象,它管理整个程序的生命周期,从加载
第一个显示界面开始,并且监听系统事件、程序

 事件调度整个程序的执行。那么上面这个简

单项目中的

UI Application 对象在哪呢?在这个项目中我们找不到任何关于 UI Application

的代码,其实在项目中

UI Application 对象是由 UI Application Main 方法初始化到内存中,

首先打开

Other Sources 文件夹下的 main.m 源文件,里面只包括了一个 main 方法,和所有