美文网首页
iOS App启动大门main函数Application触发方

iOS App启动大门main函数Application触发方

作者: 玄_子午 | 来源:发表于2019-04-19 16:31 被阅读0次

    #import

    #import"AppDelegate.h"

    intmain(intargc,char* argv[]) {

    @autoreleasepool{

    /*

    UIApplicationMain()函数的任务:

    1.创建应用程序对象--- UIApplication类型的对象

    2.创建应用程序代理对象,指定应用程序代理,应用程序代理用来检测应用程序的执行状态.

    3.创建事件循环(runloop,死循环),监测用户对屏幕的操作,一旦发现用户操作程序,应用程序必须做出相应反应.由于用户操作应用程序的时间未知,因此需要一直进行监听,直到应用程序退出.

    */

    returnUIApplicationMain(argc, argv,nil,NSStringFromClass([AppDelegateclass]));

    }

    }

    AppDelegate.m

    #import"AppDelegate.h"

    @interfaceAppDelegate()

    @end

    @implementationAppDelegate

    //当运用程序加载时触发.在该方法中创建window窗口对象,让window成为应用程序主窗口并且可视.

    - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

    self.window= [[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]]autorelease];

    // Override point for customization after application launch.

    self.window.backgroundColor= [UIColorwhiteColor];

    [self.windowmakeKeyAndVisible];

    //验证机制,验证一个方法的触发时机

    //__FUNCTION__ :打印当前方法的方法名

    //__LINE__ :打印当前方法所在的行

    NSLog(@"%s, %d",__FUNCTION__, __LINE__);

    returnYES;

    }

    //当应用程序将要取消活跃状态时触发.

    //使用该方法暂停正在运行的任务,让定时器无效,暂停游戏等.

    - (void)applicationWillResignActive:(UIApplication*)application {

    NSLog(@"%s, %d",__FUNCTION__, __LINE__);

    }

    //当应用程序进入后台时触发.

    //释放共享资源,保存用户数据,让timer无效,当应用程序退出时,该方法会被applicationWillTerminate:替代.

    - (void)applicationDidEnterBackground:(UIApplication*)application {

    NSLog(@"%s, %d",__FUNCTION__, __LINE__);

    }

    //当应用程序将要进入前台时触发

    //重新运行进入后台时被暂停的任务

    - (void)applicationWillEnterForeground:(UIApplication*)application {

    NSLog(@"%s, %d",__FUNCTION__, __LINE__);

    }

    //当应用程序成为活跃状态时触发

    //重新启动当应用程序进入不活跃状态(休眠)时暂停的任务,如果之前应用程序在后台,此时可以载该方法中进行刷新界面的操作.

    - (void)applicationDidBecomeActive:(UIApplication*)application {

    NSLog(@"%s, %d",__FUNCTION__, __LINE__);

    }

    - (void)applicationWillTerminate:(UIApplication*)application {

    NSLog(@"%s, %d",__FUNCTION__, __LINE__);

    }

    //当有电话进入时,会触发的方法

    //applicationWillResignActive:

    //当有电话挂断时,会触发的方法

    //applicationDidBecomeActive:

    - (void)dealloc {

    [_windowrelease];

    [superdealloc];

    }

    @end

    相关文章

      网友评论

          本文标题:iOS App启动大门main函数Application触发方

          本文链接:https://www.haomeiwen.com/subject/khddwxtx.html