多控制器之UIApplication

來源:互聯網
上載者:User

標籤:

 

UIApplication簡介
  • UIApplication對象是應用程式的象徵
  • 每個應用都有自己的UIApplication對象,其是單例對象,通過[UIApplication sharedApplication]可以獲得,不能用alloc來建立
  • 一個程式啟動後建立的第一個對象就是UIApplication對象
  • 利用這個對象,可以進行一個應用層級的操作:
    • 顯示程式表徵圖右上方的紅色提醒數字(ios8之後要先註冊通知):applicationIconBadgeNumber(屬性)
    • 顯示連網指標的可見度(ios7之後交給控制器管理,所以要設定):statusBarHidden(屬性) 
    • 打電話:openURL(方法)
    • 發簡訊:openURL(方法)
    • 瀏覽網頁:openURL(方法)
    • 等等
  • 注意:load類方法(不能訪問屬性):當類載入到記憶體中就調用,會比main方法調用還早
代理delegate
  • app受到幹擾會產生一系列瑣事,這時UIApplication會通知它的代理對象來處理
  • 處理事件:

    // 應用程式啟動完成的時候調用- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {return YES;}// 當應用程式即將失去焦點(不可與使用者互動)- (void)applicationWillResignActive:(UIApplication *)application {}// 應用程式進入後台- (void)applicationDidEnterBackground:(UIApplication *)application {}// 應用程式將要進入前台- (void)applicationWillEnterForeground:(UIApplication *)application {}// 應用程式完全獲得焦點(可與使用者互動)- (void)applicationDidBecomeActive:(UIApplication *)application {}// 程式即將關閉的時候- (void)applicationWillTerminate:(UIApplication *)application {}
應用程式的啟動原理

int main(int argc, char * argv[]) {    @autoreleasepool {        // 第三個參數:設定UIApplication的對象的名稱,只能它或者它子類,nil == @"UIApplication"        // 第四個參數:建立代理對象,遵守了UIApplicationDelegate協議,把這個對象設為應用程式(UIApplication)的代理        //           用NSStringFromClass:將一個類名轉換成字串---1.提示功能 2.避免輸入錯誤        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));    }}
// 程式的啟動原理// 1.執行main -> UIApplicationMain// 2.建立UIApplication對象,並設定它的代理// 3.開啟了一個事件迴圈(主運行迴圈)(死迴圈) -> 保證應用程式能一直運行// 4.應用程式載入Info.plist設定檔,判斷該檔案中是否有main值,如果有就會去載入Main.storyBoard,     如果沒有就執行didFinishLaunchingWithOptions:方法,應用程式啟動完畢

多控制器之UIApplication

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.