IOS生命周期

iOS app life cycle 生命周期图

image

 

第一步: Main

有C相关语言开发经验的朋友都知道,所有程序运行都是从 main 程序开始的。

#import <UIKit/UIKit.h>
#import "NoteNavAppDelegate.h"
int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([NoteNavAppDelegate class]));
    }
}

第二步:UIApplicationMain

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

2.1、创建了UIApplication的实例。 
每一个应用程序都有一个UIApplication或其子类型的实例。当程序被加载,函数方法UIApplicationMain就被调用执行,它创建了单件模式的UIApplication对象。 
2.2、在 Info.plist 文件中寻找初始化需要的一些元素,这个文档包含了程序需要初始化的一些元素比如:icon、名称、指定主界面的nib文件等等。 
其中的 NSMainNibFile => MainWindow 指向主界面。


app_timeline_template

第三步:主界面

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

3.1、File’s Owner 表示当前nib文件的使用者可以看到是UIApplication 
3.2、First Responder 可以用于处理很多事件.句柄 
3.3、还指定了 application’s delegate 
3.4、A window 用于显示程序加载背景.  UIWindow class提供了一个container for views的管理和显示。 

app_timeline_customization

 

下面是一个具有导航的Main Nib 文件的引用关系。

image

 

第四步:UIApplication加载结束后

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

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

接下来的事情就是由程序员自己编程控制了。

 

 

 

从MVC的角度看 iOS 的那些类

 

TRwBbXoDTTzZG9mfMiYr39dTjeU37BRC_m

 

 

iOS的消息流转流程

1335413274_3604

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值