藍鷗iOS培訓推薦:視圖在iOS中是一個很重要的部分,功能和實現之間有著緊密聯系,那么對于視圖控制器來說它控制著視圖,所以也就是非常重要的了。
以視圖的4種狀態為基礎,來大致的了解一下視圖控制器的生命周期。在視圖不同的生命周期中,視圖控制器會回調不一樣的方法,如圖:

視圖控制器的一些主要方法
在視圖控制器已被實例化,視圖被加載到內存中時調用viewDidLoad方法,這個時候視圖還沒有出現。在這個方法中,一般情況下要進行的是對所控制的視圖進行初始化處理。
視圖可見前后會調用viewWillAppear:方法和viewDidAppear:方法;視圖不可見前后會調用
viewWillDisappear:方法和viewDidDisappear:方法。4個方法調用父類相應的方法以實現其功能,編碼時該方法的位置可根據實際情況做以調整,可以看下下面代碼:

viewDidLoad方法在應用運行的時候只調用一次,而這上述4個方法可以被反復調用多次,它們的使用很廣泛但同時也具有很強的技巧性。例如,有的應用會使用重力加速計,重力加速計會不斷輪詢設備以實時獲得設備在z軸、x軸和y軸方向的重力加速度。不斷的輪詢必然會耗費大量電能進而影響電池使用壽命,我們通過利用這4個方法適時地打開或者關閉重力加速計來達到節約電能的目的。怎么使用這4個方法才能做到“適時”是一個值得思考的問題。
一般在低內存情況下,iOS會調用didReceiveMemoryWarning:和viewDidUnload:方法。在iOS 6之后,就不再使用viewDidUnload:,而僅支持didReceiveMemoryWarning:。didReceiveMemoryWarning:方法的主要職能是釋放內存,包括視圖控制器中的一些成員變量和視圖的釋放。
舉個例子和大家分享一下:
希望通過本節內容對視圖生命周期介紹,大家能夠掌握視圖生命周期與視圖控制器關系,及視圖控制器的一些主要方法,還其更多相關方法后期再其分享!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。