项目中AppDelegate详解
1.AppDelegate.h
//模板默認引入程序需要使用“類”的框架,即UIKit.h頭文件,使它包含在程序中??
#import?<UIKit/UIKit.h>?
?
//此處@class聲明程序中的“類”名稱為MyViewController??
@class?MyViewController;??
?
//此處@interface聲明程序界面的名稱為MyAppDelegate,其中NSObject表示它的“類”符合UIApplicationDelegate協議,接著UIApplicationDelegate,此方法為應用程序提供了關于觸發的關鍵事件信息,例如什么時候程序運行完成,什么時候內存不足,什么時候重要變化發生??
@interface?MyAppDelegate?:?NSObject?<UIApplicationDelegate>?{??
??????
????//定義一個程序顯示窗口的對象??
????UIWindow?*window;??
??????
????//加入視圖控制實際變量的對象??
????MyViewController?*viewController;??
}??
?
//此處@Property聲明程序的屬性,并且加入在前面@interface中指定的相同對象,?其中nonatomic是使用單線程機制減少系統資源使用,并將更改方法和修改方法生成在
//Property(屬性),??
//接著retain,Property的可選項,表明向Property
(屬性)的對象發送一個retain(保留消息),??
//而IBOutlet表示對象在Interface?Builder(Storyboard)中創建。???
?
//例如下面的代碼在應用程序中顯示了一個窗口控件,
把這個控件連接到nib文件并顯示在Interface?Builder?(Storyboard)?
@property?(nonatomic,?retain)?IBOutlet?UIWindow?*window;??
?
//又例如,代碼在應用程序中顯示了一個視圖控制控件,
把這個控件連接到nib文件并顯示在?Interface?Builder?(Storyboard)
@property?(nonatomic,?retain)?IBOutlet?MyViewController?*viewController;??
?
//程序結束點,表明結束MyViewController.h文件??
@end??
2.AppDelegate.m
?
協議中定義的這些需要實現的方法的作用:
1、-??(void)applicationWillResignActive:(UIApplication?*)application
說明:當應用程序將要入非活動狀態執行,在此期間,應用程序不接收消息或事件,比如來電話了
2、-??(void)applicationDidBecomeActive:(UIApplication?*)application
說明:當應用程序入活動狀態執行,這個剛好跟上面那個方法相反
3、-?(void)applicationDidEnterBackground:(UIApplication??*)application
說明:當程序被推送到后臺的時候調用。所以要設置后臺繼續運行,則在這個函數里面設置即可
4、-??(void)applicationWillEnterForeground:(UIApplication?*)application
說明:當程序從后臺將要重新回到前臺時候調用,這個剛好跟上面的那個方法相反。
5、-??(void)applicationWillTerminate:(UIApplication?*)application
說明:當程序將要退出是被調用,通常是用來保存數據和一些退出前的清理工作。這個需要要設置UIApplicationExitsOnSuspend的鍵值。
6、-??(void)applicationDidReceiveMemoryWarning:(UIApplication?*)application
說明:iPhone設備只有有限的內存,如果為應用程序分配了太多內存操作系統會終止應用程序的運行,在終止前會執行這個方法,通常可以在這里進行內存清理工作防止程序被終止
7、-?(void)applicationSignificantTimeChange:(UIApplication*)application
說明:當系統時間發生改變時執行
8、-??(void)applicationDidFinishLaunching:(UIApplication*)application
說明:當程序載入后執行
9、-??(void)application:(UIApplication)application??willChangeStatusBarFrame:(CGRect)newStatusBarFrame
說明:當StatusBar框將要變化時執行
10、-??(void)application:(UIApplication*)application?willChangeStatusBarOrientation:
(UIInterfaceOrientation)newStatusBarOrientation
duration:(NSTimeInterval)duration
說明:當StatusBar框方向將要變化時執行
11、-??(BOOL)application:(UIApplication*)application?handleOpenURL:(NSURL*)url
說明:當通過url執行
12、-??(void)application:(UIApplication*)application??didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation
說明:當StatusBar框方向變化完成后執行
13、-??(void)application:(UIApplication*)application?didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame
說明:當StatusBar框變化完成后執行
轉載于:https://www.cnblogs.com/jaenson/p/3718774.html
總結
以上是生活随笔為你收集整理的项目中AppDelegate详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 写个随笔
- 下一篇: day3_python学习笔记_chap