通過代理類AppDelegate來進行管理生命周期。
//
// AppDelegate.m
// AppUI元件學習
//
// Created by 麥子 on 15/6/14.
// Copyright (c) 2015年 麥子. All rights reserved.
//
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
#pragma mark 初始化資料,
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
CGRect rect = [[UIScreen mainScreen]bounds];
self.window = [[UIWindow alloc] initWithFrame:rect];
self.window.backgroundColor = [UIColor yellowColor];
[self.window makeKeyAndVisible];
NSLog(@"資料初始化成功。。。。。。隻會執行一次");
return YES;
}
#pragma mark 将要進入背景。
//暫時進入背景, 如:來電話了,按住home鍵進入背景。
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"程式可能被一個電話,将要進入了背景。。。作用:對進入背景的時候,儲存一些資料。");
}
#pragma mark 已經進入了背景
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"程式已經進入背景。。。。。");
}
#pragma mark 退出背景,進入前台。
// applicationWillEnterForeground:隻有當程式從背景傳回到前台這一種情況下才會被調用;而applicationDidBecomeActive:除了從背景傳回前台時被調用,還會在程式運作在前台時也被調用(例如之前提到的收到來電提醒後取消接聽,輕按兩下home鍵後依舊傳回目前app等操作)。是以applicationWillEnterForeground:适合處理那種加載前隻需要執行一次的初始化。
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"程式将要進入前端----這個隻從背景進入前台的時候才調用");
}
#pragma mark 将要進入前台
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"程式重新進入前端------作用:資料可以開始恢複");
}
#pragma mark 應用程式退出
//這個方法通常是用來儲存資料和一些退出前的清理工作,
- (void)applicationWillTerminate:(UIApplication *)application {
NSLog(@"程式退出,需要記錄一些資料");
}
@end
運作結果如下:
2015-06-14 11:16:02.119 AppUI元件學習[1157:42479] 資料初始化成功。。。。。。隻會執行一次
2015-06-14 11:16:02.121 AppUI元件學習[1157:42479] Application windows are expected to have a root view controller at the end of application launch
2015-06-14 11:16:02.138 AppUI元件學習[1157:42479] 程式重新進入前端------作用:資料可以開始恢複
按下home鍵後:
2015-06-14 11:19:53.982 AppUI元件學習[1157:42479] 程式可能被一個電話,将要進入了背景。。。作用:對進入背景的時候,儲存一些資料。
2015-06-14 11:19:54.518 AppUI元件學習[1157:42479] 程式已經進入背景。。。。。
重新打開程式:
2015-06-14 11:20:38.757 AppUI元件學習[1157:42479] 程式将要進入前端----這個隻從背景進入前台的時候才調用
2015-06-14 11:20:39.293 AppUI元件學習[1157:42479] 程式重新進入前端------作用:資料可以開始恢複