iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
0
自我挑戰組

IOS從零成長30天日記系列 第 24

IOS-App 生命周期的理解(UIViewController)

  • 分享至 

  • xImage
  •  

Day24
UIViewController的生命周期:

程式碼的執行順序:

1、 alloc
此階段創建對象同時分配空間。

2、init (initWithNibName|initWithCoder)
初始化UIViewController,關鍵數據初始化。

3、awakeFromNib
當awakeFromNib方法被使用時,所有視圖的outlet和action已經連接,但還沒有被確定.
而且適合視圖控制器的實例化配合一起使用的,可配合用戶喜好來進行設置的內容,但缺點是無法存在storyBoard或xib中,因此可使用該方法被加載進來。

4、loadView
假設視圖控制器是通過nib創建,即代表視圖控制器已從nib文件中解檔並創建,接下來就是對view進行初始化/加載。

5、viewDidLoad
當視圖被加載/載入完成到記憶體後,但畫面被顯示之前,就會調用viewDidLoad。可以進行自定義數據以及動態創建其他控件.

6、viewWillAppear
當視圖將出現在畫面/屏幕之前,且沒有任何動畫開始出現在畫面時被呼叫的。

7、viewWillLayoutSubviews
將要對子視圖進行調整。

8、viewDidLayoutSubviews
對子視圖進行調整完成之後需要做的工作。

9、viewDidAppear
在viewWillAppear結束後,即視圖被加載後,視圖已在屏幕上渲染完成。另外可以通過[轉換]來增加已經呈現的視圖。

10、viewWillDisappear
這個方法是當視圖將屏幕上被刪除/移除,並且動畫開始執行前調用的。

11、viewDidDisappear
當視圖在屏幕上被刪除/移除。

12、dealloc
視圖被銷毀,此處需要對你在init和viewDidLoad中創建的對象進行釋放。

13、didReceiveMemoryWarning
內存警告。內存足夠的情況下,App的視圖會一直保存在內存中,但如果內存不夠,沒有正在顯示的viewController會收到內存不足的警告,釋放擁有的視圖,以達到釋放內存的目的。


上一篇
IOS-App 生命周期的理解(系統)
下一篇
IOS-App 基本MVC(1)
系列文
IOS從零成長30天日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言