1,每個應用程序有且只能有一個UIApplication對象,或其子類的對象。當應用程序加載後,UIApplicationMain函數被調用,它的一個任務就是創建一個UIApplication的單例,我們可以通過UIApplication.sharedApplication屬性訪問。
2,管理事件。其主要角色就是處理用戶事件的路由選擇。UIApplication接受UIControl發來的action消息(事件),並分發到相應的target對象。
3,管理window。UIApplication對象包含一個在當前application中打開的所有window的列表,因此通過它來檢索任意程序中的視圖對象。
4,關於應用程序代理。應用程序對象通常擁有一個代理對象,應用程序對象將一些重要的運行時事件通知給代理,如加載,內存低等,應用程序代理對象對這些事件做適當大處理。
5,關於繼承UIApplication。用戶可繼承UIApplicition,並重寫sendEvent:或sendAction:to:from:forEvent:來自定義事件和行爲分發機制。但是除非你有充足的理由,否則不需繼承,使用用用程序代理就可以完成大部分場景工作。