Skip to content


IPHONE基于窗口应用程序的生死

就像开发MFC 框架下的 windows应用程序 必须学会基于单文档的应用程序开发一样 ,  学习Iphone应用程序的开发,对window-based-application的掌握也是最基础.最必要的.

通知Xcode的菜单向导很快就是得到一个最基本的window-based-application的框架.通过简单的build就可以在模拟环境中运行了.

向导为我们做了什么事情?,窗口是怎么来,又是怎么去的?

1. 有C相关语言开发经验的朋友都知道,所有程序运行都是从 main 程序开始的.于是找到了自动生成的main.m源代码


#import
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);    //核心函数
[pool release];
return retVal;
}

2. UIApplicationMain 到底为我们做了什么事情?

2.1 为我们创建了UIApplication的实例来展现工程师设计的界面.
2.2 首先人他会查看Info.plist 这个文档包含了程序需要初始化的一些元素比如,icon,名称,和指定主界面的nib文件等等,例如:


NSMainNibFile => MainWindow

app_timeline_template

3. 主界面nib页面又给我们指定了什么东西呢?

3.1. File’s Owner 表示当前nib文件的使用者可以看到是UIApplication
3.2. First Responder 可以用于处理很多事件.句柄
3.3. 还指定了 application’s delegate
3.4. A window 用于显示程序加载背景.
app_timeline_customization

4.接下来处理的关键在于3.3所指定的delegate

当UIApplication加载结束后,会给它所指定的delegate发一个application:didFinishLaunchingWithOptions: 事件消息.
然后在这个方法里面创建自己的view controlle以及给主window指定subview.

5. 接下来的事情大家就比较明了了,看大家自己的发挥.

Posted in MAC, iphone, 未分类.


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. 丰禾 says

    不错的基础文章



Some HTML is OK

or, reply to this post via trackback.