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