99热99这里只有精品6国产,亚洲中文字幕在线天天更新,在线观看亚洲精品国产福利片 ,久久久久综合网

歡迎加入QQ討論群258996829
麥子學(xué)院 頭像
蘋果6袋
6
麥子學(xué)院

iOS基礎(chǔ)之視圖生命周期

發(fā)布時間:2016-09-04 22:33  回復(fù):0  查看:3051   最后回復(fù):2016-09-04 22:33  

視圖是應(yīng)用的一個重要的組成部份,功能的實現(xiàn)與其息息相關(guān),而視圖控制器控制著視圖,其重要性在整個應(yīng)用中不言而喻。所以視圖是iOS開發(fā)入門學(xué)習(xí)的必學(xué)內(nèi)容。

 

以視圖的四種狀態(tài)為基礎(chǔ),我們來系統(tǒng)了解一下視圖控制器的生命周期。

在視圖不同的生命周期中,視圖控制器會回調(diào)不同的方法,具體如圖:

iOS基礎(chǔ)之視圖生命周期

在視圖控制器已被實例化,視圖被加載到內(nèi)存中時,會調(diào)用viewDidLoad方法,這時視圖并未出現(xiàn)。

在該方法中,通常會對所控制的視圖進(jìn)行初始化處理。

 

視圖可見前后會調(diào)用viewWillAppear:方法和viewDidAppear:方法,視圖不可見前后會調(diào)用viewWillDisappear:方法和viewDidDisappear:方法。

這四個方法調(diào)用父類相應(yīng)的方法以實現(xiàn)其功能,編碼時調(diào)用父類方法的位置可根據(jù)實際情況做以調(diào)整,例如:

1 override func viewWillAppear(animated: Bool) {2     super.viewWilllAppear(animated)3 }

 

viewDidLoad方法在應(yīng)用運(yùn)行的時候只調(diào)用一次,而上述這四個方法可以被反復(fù)調(diào)用多次,它們的使用很廣泛,但同時也具有很強(qiáng)的技巧性。

 

例如,有的應(yīng)用會使用重力加速計,重力加速計會不斷輪詢設(shè)備以實時獲得設(shè)備在z軸、x軸和y軸方向的重力加速度。

不斷的輪詢必然會耗費(fèi)大量電能進(jìn)而影響電池使用壽命,我們通過利用這四個方法適時地打開或者關(guān)閉重力加速計來達(dá)到節(jié)約電能的目的。

 

怎么使用這四個方法才能做到“適時”是一個值得思考的問題。

 

在低內(nèi)存的情況下,iOS會調(diào)用didReceiveMemoryWarningviewDidUnLoad方法。

iOS 6之后,就不再適用viewDidUnLoad方法,而僅支持didReceiveMemoryWarning方法。

didReceiveMemoryWarning方法的主要職能是釋放內(nèi)存,包括視圖控制器中的一些成員變量和視圖的釋放。例如:

1 override func didReceiveMemoryWarning() {2     super.didReceiveMemoryWarning()3 }

 

除了上述六個方法外,還有很多其他方法,隨著學(xué)習(xí)深入,咱們再慢慢研究吧。

 

文章來自:博客園/張董

您還未登錄,請先登錄

熱門帖子

最新帖子

?