详解AppDelegate

AppDelegate,

类似于监听接口。 用个很简单的例子说:ios系统会控制每个程序的开始和结束。但是ios又不知道每个程序的开始需要运行成么代码,结束需要运行什么代码。这个时候,ios就制定了一个规则:如果你是我的代理程序,那么我在开始的时候就会运行你里面的– applicationDidFinishLaunching方法,我会在结束的时候运行你的– applicationWillTerminate方法,这是UIApplicationDeligate定义的接口。 

 

 

//状态:应用程序开始加载

//经常用来存放当应用程序加载时想要显示的内容.

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

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];

    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];

    NSLog(@"%s",__FUNCTION__);

    return YES;

}


 

//当应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电  
- (void)applicationWillResignActive:(UIApplication *)application  
{  
    NSLog(@"应用程序将要进入非活动状态,即将进入后台");  
}

//应用程序已经进入后台运行
//使用该方法释放共享资源,保存用户数据,timer无效,存储当前应用程序状态为下次恢复,如果你的应用程序支持后台,这个方法将会替代applicationWillTerminate:当用户退出;

- (void)applicationDidEnterBackground:(UIApplication *)application  
{  
    NSLog(@"如果应用程序支持后台运行,则应用程序已经进入后台运行");  
}

//应用程序将要进入活动状态执行

 //该方法经常用来重新唤醒进入后台时的任务;

- (void)applicationWillEnterForeground:(UIApplication *)application  
{  
    NSLog(@"应用程序将要进入活动状态,即将进入前台运行");  
}

//应用程序已经进入活动状态 

 //重启当应用程序不活跃状态时暂停的任务,或者开启还没有运行的任务,如果应用程序之前在后台,也可以刷新一下用户界面;

- (void)applicationDidBecomeActive:(UIApplication *)application  
{  
    NSLog(@"应用程序已进入前台,处于活动状态");  
}

//应用程序将要退出,通常用于保存数据和一些退出前的清理工作
- (void)applicationWillTerminate:(UIApplication *)application  
{  
    NSLog(@"应用程序将要退出");  
}

//当设备为应用程序分配了太多的内存,操作系统会终止应用程序的运行,在终止前会执行这个方法  
//通常可以在这里进行内存清理工作,防止程序被终止  
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application  
{  
    NSLog(@"系统内存不足,需要进行清理工作");  
}

//当系统时间发生改变时执行  
-(void)applicationSignificantTimeChange:(UIApplication *)application  
{  
    NSLog(@"当系统时间发生改变时执行");  
}

//当程序载入后执行  
-(void)applicationDidFinishLaunching:(UIApplication *)application  
{  
    NSLog(@"当程序载入后执行");  
}  

 

关于项目里如何访问AppDelegate? ------ 有待学习;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。