appDelegate 使用詳解

appDelegate 使用詳解

1.AppDelegate.h
模板默認引入程序需要使用“類”的框架,即UIKit.h頭文件,使它包含在程序中

import

此處@class聲明程序中的“類”名稱為
MyViewController @class MyViewController;

此處@interface聲明程序界面的名稱為MyAppDelegate,其中NSObject表示它的“類”符合 UIApplicationDelegate協(xié)議,接著UIApplicationDelegate,此方法為應用程序提供了關于觸發(fā)的關鍵事件信息,例 如什么時候程序運行完成,什么時候內存不足,什么時候重要變化發(fā)生

@interface MyAppDelegate : NSObject  {  
    //定義一個程序顯示窗口的對象  
    UIWindow *window;  
   //加入視圖控制實際變量的對象  
    MyViewController *viewController;  
}  

此處@Property聲明程序的屬性,并且加入在前面@interface中指定的相同對象, 其中nonatomic是使用單線程機制減少系統(tǒng)資源使用,并將更改方法和修改方法生成在
Property(屬性),
接著retainProperty的可選項,表明向Property
(屬性)的對象發(fā)送一個retain(保留消息),
IBOutlet表示對象在Interface Builder(Storyboard)中創(chuàng)建。

例如下面的代碼在應用程序中顯示了一個窗口控件,
把這個控件連接到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

協(xié)議中定義的這些需要實現(xiàn)的方法的作用:
1、- (void)applicationWillResignActive:(UIApplication *)application
說明:當應用程序將要入非活動狀態(tài)執(zhí)行,在此期間,應用程序不接收消息或事件,比如來電話了
2、- (void)applicationDidBecomeActive:(UIApplication *)application
說明:當應用程序入活動狀態(tài)執(zhí)行,這個剛好跟上面那個方法相反
3、- (void)applicationDidEnterBackground:(UIApplication *)application
說明:當程序被推送到后臺的時候調用。所以要設置后臺繼續(xù)運行,則在這個函數(shù)里面設置即可
4、- (void)applicationWillEnterForeground:(UIApplication *)application
說明:當程序從后臺將要重新回到前臺時候調用,這個剛好跟上面的那個方法相反。
5、- (void)applicationWillTerminate:(UIApplication *)application
說明:當程序將要退出是被調用,通常是用來保存數(shù)據(jù)和一些退出前的清理工作。這個需要要設置UIApplicationExitsOnSuspend的鍵值。
6、-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application
說明:iPhone設備只有有限的內存,如果為應用程序分配了太多內存操作系統(tǒng)會終止應用程序的運行,在終止前會執(zhí)行這個方法,通??梢栽谶@里進行內存清理工作防止程序被終止
7、- (void)applicationSignificantTimeChange:(UIApplication*)application
說明:當系統(tǒng)時間發(fā)生改變時執(zhí)行
8、- (void)applicationDidFinishLaunching:(UIApplication*)application
說明:當程序載入后執(zhí)行
9、- (void)application:(UIApplication)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame
說明:當StatusBar框將要變化時執(zhí)行
10、- (void)application:(UIApplication*)application willChangeStatusBarOrientation: (UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration
說明:當StatusBar框方向將要變化時執(zhí)行
11、- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url
說明:當通過url執(zhí)行
12、- (void)application:(UIApplication*)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation
說明:當StatusBar框方向變化完成后執(zhí)行
13、- (void)application:(UIApplication*)application didChangeSetStatusBarFrame:(CGRect)oldStatusBarFrame
說明:當StatusBar框變化完成后執(zhí)行

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 非原創(chuàng),收集,整理,覺得有用就羅列下為避免下次犯迷糊。 IOS 中的 AppDelegate.m/h 文件是很重要...
    西蜀閱讀 576評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,536評論 19 139
  • UIApplication深入研究 很多時候,我們不需要關心這個類,我們很少繼承這個類,偶爾會調用這個類的api來...
    誰的青春不迷茫閱讀 1,883評論 1 7
  • application:didFinishLaunchingWithOptions:詳解 iOS 程序啟動時總會調...
    hhbsdc閱讀 4,658評論 0 0
  • 未若柳絮因風起 窗外下起了雪,漫天的大雪。 他們在走廊看雪??粗粗x安突然吟道:“白雪紛紛何所似?” 吟完,謝...
    空易水閱讀 402評論 0 1

友情鏈接更多精彩內容