Appdelegate的代理函數

#import <UIKit/UIKit.h>

//代理主類
//父類:UIResponder
//UIResponder主要用來處理事件
//UIApplicationDelegate代理協議
//須要本身實現協議
//UIApplication框架類來調用咱們的協議
@interface AppDelegate : UIResponder <UIApplicationDelegate>
//窗口對象,
//表示當前設備的屏幕,能夠在此窗口對象上添加視圖
//strong用在自動內存管理中關鍵子
//對內存引用計數器+1,retainCount+1
//至關於手動內存管理中的retain
//與strong對應的關鍵子weak,修飾對象類型的
//weak引用不會對內存計數器+1,至關與assign
@property (strong, nonatomic) UIWindow *window;

@end


#import "AppDelegate.h"

@implementation AppDelegate

//入口函數也是協議函數
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
    return YES;
}


//下面的函數都是協議函數
//程序即將從前臺(活動狀態)退出到後臺(非活動狀態,休眠狀態)
- (void)applicationWillResignActive:(UIApplication *)application
{
    NSLog(@"即將退出 前臺!");
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}
//程序已經進入後臺狀態(休眠狀態)
//釋放一些程序中的圖像資源和內存
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"程序已經進入後臺!");
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}
//程序即將從後臺進入前臺的時調用此函數
- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSLog(@"即將進入前臺!");
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
}
//程序已經變爲激活狀態,前臺運行

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    NSLog(@"已經進入前臺狀態!");
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

//程序即將被退出時,程序結束前被調用
//保持數據,釋放內存等收尾工做
- (void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"程序即將結束XXXX!");
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
}

@end
相關文章
相關標籤/搜索