iOS應用程式的生命週期

2021-07-06 10:28:04 字數 1262 閱讀 9174

深度解析ios應用程式的生命週期

main函式入口

-#import 

-main( argc, * argv)

-@autoreleasepool }

應用程式的架構

ios應用程式都遵循model-view-controller的架構,model負責儲存資料和處理業務邏輯,view負責顯示資料和與使用者互動,controller是兩者的中介,協調model和view相互協作。它們的通訊規則如下:

controller能夠訪問model和view,model和view不能互相訪問。

當view與使用者互動產生事件時,使用target-action方式來處理。

當view需要處理一些特殊ui邏輯或獲取資料源時,通過delegate或data source方式交給controller來處理。

model不能直接與controller通訊,當model有資料更新時,可以通過notification或kvo (key value observing)來通知controller更新view。

了解ios的mvc設計模式之後,我們從下圖來了解在mvc模式下ios應用程式有哪些關鍵物件以及它們職責主要是什麼?

document物件(繼承uidocument)用來管理一些或所有的data model物件。document物件並不是必須的,但提供一種方便的方式來分組屬於單個檔案或多個檔案的資料。

uiwindow物件位於view層次結構中的最頂層,它充當乙個基本容器而不顯示內容,如果想顯示內容,新增乙個content view到window。

它也是繼承uiresponder,所以它也是會響應和處理使用者事件。

view物件可以通過addsubview和removefromsuperview 等方法管理view的層次結構,使用layoutsubviews、layoutifneeded和setneedslayout等方法布局view的層次結構,當你發現系統提供view已經滿足不了你想要的外觀需求時,可以重寫drawrect方法或通過layer屬性來構造複雜的圖形外觀和動畫。還有一點,uiview也是繼承uiresponder,所以也能夠處理使用者事件。

control物件通常就是處理特定型別使用者互動的view,常用的有button、switch、text field等。

main run loop

應用程式的狀態和多工

background:執行在background和正在執行**

suspended:執行在background但沒有執行**

應用程式的終止

ios 應用程式生命週期

一 ios應用程式狀態機一共有五種狀態 1.not running 應用還沒有啟動,或者應用正在執行但是途中被系統停止。2.inactive 當前應用正在前台執行,但是並不接收事件 當前或許正在執行其它 一般每當應用要從乙個狀態切換到另乙個不同的狀態時,中途過渡會短暫停留在此狀態。3.active ...

IOS應用程式生命週期

程式的生命週期 a.程式的生命週期是指應用程式啟動到應用程式結束整個階段的全過程 二 ios應用程式5種狀態 1.not running 應用還沒有啟動,或者應用正在執行但是途中被系統停止 2.inactive 當前應用正在前台執行,但是並不接收事件 當前或許正在執行其它 一般每當應用要從乙個狀態切...

iOS 應用程式生命週期

剛買了關東昇老師的ios書,來記錄一下自己感覺有用的東西 首先說一下ios應用的五中狀態 這裡主要說一些主要的方法 程式啟動並進行初始化是呼叫 程式從活動狀態進入非活動狀態的時候呼叫 程式進入後台時呼叫該方法 程式進入前台但是還未處於活動狀態時呼叫該方法 程式進入前台並處於活動狀態時呼叫 應用程式被...