iphone 程
序的生命周期分析
做
iphone 开发首先第一件就是得知道 iphone 程序的生命周期,说白点就是
当点击程序图标启动程序开始到退出程序整个使用运行过程中底下的代码都发
生了什么,只有理解了这个才能游刃有余的掌握
Iphone 程序的开发,否则在
写程序的时候有点浑浑僵僵不知所以然的感觉。首先忘记
Xcode 给我们生成的
代码模板,忘记
xib 忘记 ib,我们亲自一行一行来写一个 HelloWorld 程序,虽
然真正开发项目的时候并不需要这样做
Xcode 模板和 ib 都会为我们做好这些
打杂的事情,但是现在完全由我们自己来写,放心这个程序是个非常的简单的
HelloWorld 程序,代码也很少总共加起来不过 10 几行。
在这之前我们先来看看 object-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(HelloWorldAppdelegate.h
和
HelloWorldAppdelegate.m)
、
Other Sources(main.m
和
HelloWorld_Prefix.pch) 、 Resources(MainWindow.xib 和 HelloWorld-
info.plist) 、 Frameworks(iphoneSDK 提 供 的 系 统 框 架 ) 、
Products(HelloWorld.app) 这几部分。直接运行这个工程会在模拟器里看到一
个白色的显示界面程序,由此可见没写一行代码
Xcode 已经给我们生成了一个
很简单的项目模板。
每一个 iphone 程序都包含一个 UIApplication 对象,它管理整个程序的生
命周期,从加载第一个显示界面开始,并且监听系统事件、程序事件调度整个程
序的执行。那么上面这个简单项目中的
UIApplication 对象在哪呢?在这个项目
中我们找不到任何关于
UIApplication 的代码,其实在项目中 UIApplication
对 象 是 由
UIApplicationMain 方 法 初 始 化 到 内 存 中 , 首 先 打 开 Other
Sources 文件夹下的 main.m 源文件,里面只包括了一个 main 方法,和所有
的
C 程序一样这个是程序入口。代码如下:
找软件资料,就到一览软件文库