簡體   English   中英

UIViewControllers ...使用SubViews進行內存管理

[英]UIViewControllers… Memory Management With SubViews

我有UIViewController誰有幾個子視圖,但跟蹤分配的每個子視圖是困難的任務,因為實際的編碼器不是我,需要處理內存消耗。

我的問題是有一種方法來控制內存調用遞歸函數來刪除和釋放UIViewController中的所有子視圖而不知道實際的引用名稱?

如下面的代碼:

for (UIView* subview in view){  
    [subview removeFromSuperView];  
    [subview release] ;
    subview = nil;   
}

當您在視圖上調用removeFromSuperview時,它將自動減少保留計數(因為superview不再需要對您剛剛刪除的視圖的引用)。

如果您以標准方式將您的視圖添加到超級視圖中,則不需要執行您正在執行的操作 - 您已添加視圖然后將其發布,或者您的視圖是屬性並且稍后發布。

您提出的代碼(所有子視圖的遞歸循環)是一個壞主意 ,因為您實際上並不知道您的子視圖是否可以安全釋放。 您可以輕松觸發錯誤訪問。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM