UIApplication對象的使用數組
1. 在安卓裏面也有 一個該對象就是象徵着這個程序 是一個單例app
2.獲取方法 [UIApplication shareApplication]ide
3.一個iOS程序啓動時候的第一個對象是UIApplication的對象函數
4. 利用Application能夠進行一鞋應用級別的操做的 spa
5 利用Application能夠進行一鞋應用級別的操做的 舉例??????.net
[UIApplication shareApplication]代理
#define kDeviceVersion [[UIDevice currentDevice] systemVersion].floatValue對象
@interface AppDelegate ()blog
@end生命週期
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
if (kDeviceVersion >= 8.0) {
// 使用本地通知 (本例中只是badge,可是還有alert和sound都屬於通知類型,其實若是隻進行未讀數在appIcon顯示,只須要badge就可, 這裏全寫上爲了方便之後的使用)
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];
// 進行註冊
[application registerUserNotificationSettings:settings];
}
return YES;
}
-(void)onClick {
//作一些引用級別的操做
UIApplication *app = [UIApplication sharedApplication];
app.applicationIconBadgeNumber = 1000;
}
聯網指示器
app.networkActivityIndicatorVisible = YES;
還能夠作openURL操做
UIApplication 和delegate
在程序被打擾的時候 去交給代理去作一些事情
AppDelegate默認是應用程序的代理 已經遵照了 UIAppdeligate的協議了
只須要去.m裏面去實現
分時機
1.當應用程序啓動時候 系統自動調用 只會調 用一次
2.即將失去活動狀態 不能夠交互
3.應用進入後臺調用 applicationDidEnterBackgroud
在這個裏面去保存應用程序的數據 以及狀態
4。即將進入前臺調用 applicationWillEnterForegroud
在這裏面去恢復應用程序的數據 以及狀態
能夠去那個內存銷燬的方法裏面去移除掉一些不用的數據 什麼數組啊 圖片啊
注意應用程序的生命週期和 控制器視圖的生命週期
iOS程序啓動的過程
打開 --進去之行main.m ---去執行 那個UIApplicationMain函數 ----參數有一個應用程序的類或者子類船艦一個全局的UIapplication對象 最後一個名字去建立一個代理對象----初始化UIApplication(去裏面建立和設置代理對象 開啓事件循環)----UIApplicationMain又一個死循環去 永遠不會返回 裏面一直去處理事件 --去監聽系統的一些事件隊列 (加載完畢 獲取焦點 進入後臺 ) ---去處理最早添加的事件先處理 後加的後處理 ---結束
UIwindow也是一個特殊的UIview 一個app只有一個 。