1. 程式人生 > >Montouch多檢視的建立與銷燬

Montouch多檢視的建立與銷燬

釋放一個引用了另外一個檢視的方法,步驟如下。

1) UIViewController A是主檢視控制器; B是子檢視控制器.

2) A建立了B的例項並且儲存B的引用.

3) A增加B的檢視為A的子檢視.

一切都是正常的,可以看到B正確的顯示在A的視圖裡.

4) A移除B檢視.B的檢視在程式碼中不存在任何的引用.

5)呼叫DidReceiveMemoryWarning (通過模擬或手動呼叫).

3.0以後不這樣做,不需要過載這個函式,把釋放記憶體的程式碼放到viewDidUnload中去。

這個函式的預設實現是:檢查controller是否可以安全地釋放它的view(這裡加粗的view指的是controller的view

屬性),比如view本身沒有superview並且可以被很容易地重建(從nib或者loadView函式)。

如果view可以被釋放,那麼這個函式釋放view並呼叫viewDidUnload。

你可以過載這個函式來釋放controller中使用的其他記憶體。但要記得呼叫這個函式的super實現來允許父類(一般是UIVIewController)釋放view

如果你的ViewController儲存著view的子view的引用,那麼,在早期的iOS版本中,你應該在這個函式中來釋放這些引用。而在iOS3.0或更高版本中,你應該在viewDidUnload中釋放這些引用。

作者:Bruce Lee
出處:

http://www.cnblogs.com/BruceLee521
本博原創文章版權歸部落格園和本人共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出作者名稱和原文連線,否則保留追究法律責任的權利。