iOS開發,關于應用程序及視圖控制器的生命周期

首先,對于一個IOS項目的執行,一般的執行流程應該是: 執行main()函數 -> 執行Appdelegate里面的函數 -> 執行ViewController里面的函數

下面主要講講Appdelegate里面幾個函數方法的順序:

1. -(void)applicationWillResignActive:(UIApplication *)application

說明:當應用程序將要入非活動狀態執行,在此期間,應用程序不接收消息或事件,比如來電話了

2. -(void)applicationDidBecomeActive:(UIApplication *)application

說明:當應用程序入活動狀態執行,這個剛好跟上面那個方法相反

3. -(void)applicationDidEnterBackground:(UIApplication *)application

說明:當程序被推送到后臺的時候調用。所以要設置后臺繼續運行,則在這個函數里面設置即可

4. -(void)applicationWillEnterForeground:(UIApplication *)application

說明:當程序從后臺將要重新回到前臺時候調用,這個剛好跟上面的那個方法相反

5. -(void)applicationWillTerminate:(UIApplication *)application

說明:當程序將要退出是被調用,通常是用來保存數據和一些退出前的清理工作。

6. -(void)applicationDidReceiveMemoryWarning:(UIApplication *)application

說明:ios設備只有有限的內存,如果為應用程序分配了太多內存操作系統會終止應用程序的運行,在終止前會執行這個方法,通常可以在這里進行內存清理工作防止程序被終止

7. -(void)applicationDidFinishLaunching:(UIApplication*)application

說明:當程序載入后執行。

8. -(BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url

說明:當打開URL時執行

如果你對上面的函數及作用有了了解,那接下來讓我們一起看看關于視圖控制對象的生命周期:

1. init - 初始化程序

2. viewDidLoad - 加載視圖

3. viewWillAppear - UIViewController對象的視圖即將加入窗口時調用

4. viewDidApper-UIViewController對象的視圖已經加入到窗口時調用

5. viewWillDisappear-UIViewController對象的視圖即將消失、被覆蓋或是隱藏時調用

上述是對Appdelegate以及視圖控制生命周期中一些函數的作用和調用時機進行一個簡略的陳述,目的是讓大家對整個IOS開發中的應用程序和視圖控制器的生命周期有一個大概額了解。下面我將要分享兩篇更加詳細的文章以供大家詳細的去理解這部分的相關知識

鏈接一:?iOS之深入了解控制器View的加載 - 簡書

鏈接二:?iOS最詳盡的控制器生命周期剖析 - 簡書

推薦細看鏈接一的內容,寫的相當不錯~~~

?

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容