#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