iOS学习之详解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? ------ 有待學習;
總結
以上是生活随笔為你收集整理的iOS学习之详解AppDelegate的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dnf断头谷在哪(地下城与勇士)
- 下一篇: 保险基数是什么