当我们打开IOS程序的时候,会按照以下顺序启动:
①像C语言一样,先执行main函数。在main函数中retrurn一个UIApplicationMain这个函数
②UIApplicationMain后面两个函数参数:
principalClassName:指定应用程序类名(app的象征),该类必须是UIApplication(或子类)。如果为nil,则用UIApplication类作为默认值
delegateClassName:指定应用程序的代理类,该类必须遵守UIApplicationDelegate协议。
③UIApplication对象是应用程序的象征,通过[UIApplication sharedApplication]可以获得这个单例对象。
④UIApplicationDelegate是一个代理对象,其中的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions函数在app启动完毕时调用。
⑤UIwindow的创建,我们一般在didFinishLaunchingWithOptions中创建UIwindow
⑥UIViewController或者UINavigationController创建完成之后绑定到UIwindow的rootViewController