标签:
1.任何一个程序,无论是基于Mac OS 还是 iOS,程序都是从main.m文件的main函数开始执行的.
#import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
1、principalClassName:应?用程序对象的类名(UIApplication或其?子类)!
2、delegateClassName:应?用程序delegate的类名。(任何接受了 UIApplicationDelegate的类)! UIApplicationMain根据上述两个类名创建应?用程序实例、应?用程序代理实例。
然后建?立事件循环(runloop),检测程序的各种事件(程序开始启动,接收到触 摸等等)
UIApplicationMain在程序入口函数mian函数中调用,主要实现了3个功能:
1.创建应用程序(UIApplication)实例
2.创建应用程序代理实例
3.建立事件循环(runloop:死循环,不断检测程序运行状态,是否被触动,摸,晃动等)
2.执行UIApplicationMain 函数时做了跳转,转到了AppDelete(应用程序代理)中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {}
方法中创建Windown
AppDelete
1.应?用程序代理,主要检测应?用程序的状态并做出相应的处理。
2.应?用程序的状态有很多,?比如:程序启动、进?入活跃状态、进到后 台、内存警告、收到远程消息等等
3.任何接受了UIApplicationDelegate协议的对象都可以成为应?用程序 代理。
4.一旦应?用程序的某种状态触发,就会执?行相应的代理?方法。
UIApplicationdelegate(代理协议)
标签:
原文地址:http://www.cnblogs.com/wohaoxue/p/4821243.html