iOS学习iOS 开发每天分享优质文章程序员

iOS四大对象之AppDelegate及UIApplicatio

2016-11-25  本文已影响987人  非典型技术宅

1. AppDelegate应用程序代理


// 程序第一次加载完毕,就会调用此方法
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

// 程序将要失去焦点 - 不能交互
- (void)applicationWillResignActive:(UIApplication*)application

// 程序已经进入后台,通常我们会在这个时候保存数据
- (void)applicationDidEnterBackground:(UIApplication*)application

// 程序将要进入前台,通常我们会在这个时候恢复数据
- (void)applicationWillEnterForeground:(UIApplication*)application

// 程序已经获取焦点 - 可以交互
- (void)applicationDidBecomeActive:(UIApplication*)application

// 程序挂了,将要完全退出。注意:1.用户主动关闭 2.系统因为内存不够关闭了程序。
//这个里面最好不要做任何东西,因为很多时候都会是异常退出。不执行这个。
- (void)applicationWillTerminate:(UIApplication*)application

// 程序接收到内存警告
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application

2. UIApplicationMain函数/程序启动过程

intUIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);

2.1 启动参数解释

2.2 启动过程

Paste_Image.png Paste_Image.png

1.3 完整启动过程

  1. main函数

  2. UIApplicationMain

  1. delegate对象开始处理(监听)系统事件(没有storyboard)

    • 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法
    • 在application:didFinishLaunchingWithOptions:中创建UIWindow
    • 创建和设置UIWindow的rootViewController
    • 显示窗口
  2. 根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(有storyboard)

上一篇下一篇

猜你喜欢

热点阅读