AppDelegate

AppDelegate

  1. 父類是UIResponder。UIResponder繼承自NSObject

  2. 所有的移動(dòng)操作系統(tǒng)都有個(gè)致命的缺點(diǎn):app很容易受到打擾链沼。比如一個(gè)來電或者鎖屏?xí)?dǎo)致app進(jìn)入后臺(tái)甚至被終止;在app受到干擾時(shí)會(huì)產(chǎn)生一些系統(tǒng)事件匀们,這時(shí)UIApplication會(huì)通知它的delegate對(duì)象(即AppDelegate)來處理,具體處理事件詳見本文的“AppDelegate處理的系統(tǒng)事件”

AppDelegate處理的系統(tǒng)事件

  1. AppDelegate處理的系統(tǒng)事件:
    1. 應(yīng)用程序的生命周期事件(如程序啟動(dòng)和關(guān)閉)
    2. 系統(tǒng)事件(如來電)
    3. 內(nèi)存警告

  2. 使用應(yīng)用程序的生命周期方法(實(shí)質(zhì)是UIApplicationDelegate協(xié)議中的方法)處理系統(tǒng)事件

    // 應(yīng)用程序啟動(dòng)完成的時(shí)候調(diào)用
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        NSLog(@"%s",__func__);
        return YES;
    }
    
    // 當(dāng)我們應(yīng)用程序即將失去焦點(diǎn)的時(shí)候調(diào)用
    - (void)applicationWillResignActive:(UIApplication *)application {
        NSLog(@"%s",__func__);
    }
    
    // 當(dāng)我們應(yīng)用程序完全進(jìn)入后臺(tái)的時(shí)候調(diào)用
    - (void)applicationDidEnterBackground:(UIApplication *)application{
       NSLog(@"%s",__func__);
    }
    
    // 當(dāng)我們應(yīng)用程序即將進(jìn)入前臺(tái)的時(shí)候調(diào)用
    - (void)applicationWillEnterForeground:(UIApplication *)application {
      NSLog(@"%s",__func__);
    }
    
    // 當(dāng)我們應(yīng)用程序完全獲取焦點(diǎn)的時(shí)候調(diào)用
    // 只有當(dāng)一個(gè)應(yīng)用程序完全獲取到焦點(diǎn),才能與用戶交互.
    - (void)applicationDidBecomeActive:(UIApplication *)application {
        NSLog(@"%s",__func__);
    }
    
    // 當(dāng)我們應(yīng)用程序即將關(guān)閉的時(shí)候調(diào)用,一般沒什么用,因?yàn)閼?yīng)用程序關(guān)閉時(shí)也不能再進(jìn)行什么操作
    - (void)applicationWillTerminate:(UIApplication *)application {
       NSLog(@"%s",__func__);
    }
    
  3. 遵守UIApplicationDelegate協(xié)議冗栗,使用其他代理方法處理系統(tǒng)事件,常用的如下:

    // app接收到內(nèi)存警告時(shí)調(diào)用:清空不必要的內(nèi)容
    - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;
    
    
  4. AppDelegate沒有獨(dú)有的方法用于響應(yīng)事件

AppDelegate的唯一屬性

// 窗口不會(huì)銷毀時(shí)因?yàn)锳ppDelegate用window這個(gè)強(qiáng)指針指向它
AppDelegate.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];

AppDelegate的內(nèi)存管理

  1. UIApplication的代理是用assign屬性(ARC下即弱指針)供搀,AppDelegate也遵循代理皆用弱指針的原則隅居;
  • 它不被銷毀是因?yàn)椋涸贏pplicationMain函數(shù)中,主線循環(huán)是死循環(huán)葛虐,所以它和UIApplicion實(shí)例對(duì)象被創(chuàng)建后胎源,生命周期直到程序結(jié)束。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末挡闰,一起剝皮案震驚了整個(gè)濱河市乒融,隨后出現(xiàn)的幾起案子掰盘,更是在濱河造成了極大的恐慌,老刑警劉巖赞季,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愧捕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡申钩,警方通過查閱死者的電腦和手機(jī)次绘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來撒遣,“玉大人邮偎,你說我怎么就攤上這事∫謇瑁” “怎么了禾进?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長廉涕。 經(jīng)常有香客問我泻云,道長,這世上最難降的妖魔是什么狐蜕? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任宠纯,我火速辦了婚禮,結(jié)果婚禮上层释,老公的妹妹穿的比我還像新娘婆瓜。我一直安慰自己,他們只是感情好贡羔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布廉白。 她就那樣靜靜地躺著,像睡著了一般治力。 火紅的嫁衣襯著肌膚如雪蒙秒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天宵统,我揣著相機(jī)與錄音晕讲,去河邊找鬼。 笑死马澈,一個(gè)胖子當(dāng)著我的面吹牛瓢省,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播痊班,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼勤婚,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了涤伐?” 一聲冷哼從身側(cè)響起馒胆,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤缨称,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后祝迂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體睦尽,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年型雳,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了当凡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡纠俭,死狀恐怖沿量,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冤荆,我是刑警寧澤朴则,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站匙赞,受9級(jí)特大地震影響佛掖,放射性物質(zhì)發(fā)生泄漏妖碉。R本人自食惡果不足惜涌庭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望欧宜。 院中可真熱鬧坐榆,春花似錦、人聲如沸冗茸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽夏漱。三九已至豪诲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挂绰,已是汗流浹背屎篱。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留葵蒂,地道東北人交播。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像践付,于是被迫代替她去往敵國和親秦士。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 非原創(chuàng)永高,收集隧土,整理提针,覺得有用就羅列下為避免下次犯迷糊。 IOS 中的 AppDelegate.m/h 文件是很重要...
    西蜀閱讀 526評(píng)論 0 0
  • application:didFinishLaunchingWithOptions:詳解 iOS 程序啟動(dòng)時(shí)總會(huì)調(diào)...
    hhbsdc閱讀 4,548評(píng)論 0 0
  • //應(yīng)用程序的狀態(tài) //Not running 未運(yùn)行 程序沒啟動(dòng) //Inactive 未激活 程序在前臺(tái)運(yùn)...
    墨凌風(fēng)起閱讀 233評(píng)論 0 0
  • 想和你走在黃昏的路上不僅僅因?yàn)槟愫艹钡难b酷前衛(wèi)的想法一大堆的頭銜還有眾星捧月而在于你能和我喜悅地談?wù)摷Z食和麥田 出...
    郭安安閱讀 269評(píng)論 0 7
  • 湖北 邵火焰 霍迪爾在德國奧迪汽車公司負(fù)責(zé)技術(shù)人員的崗前培訓(xùn)。經(jīng)霍迪爾培訓(xùn)的員工很快都能獨(dú)當(dāng)一面勝任工作卖毁∫驹霍...
    何以謂孤獨(dú)w閱讀 249評(píng)論 0 0