iOS App启动大门main函数Application触发方法简单介绍

#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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,175评论 1 32
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,052评论 0 38
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,784评论 2 7
  • 什么是浅拷贝与深拷贝。浅拷贝就是不可变对象执行不可变拷贝(copy)深拷贝就是如果执行拷贝时 只要有可变的无论是可...
    KingChoo阅读 368评论 0 0
  • 朱德庸说:“人生充滿着各种大道理,最后这些大道理,只是让你知道,人生其实根本没什么道理。” 平日里读过不少鸡汤,听...
    懒散的兔阅读 716评论 0 6