2011-11-25 60 views
1

我正在爲我的應用程序創建自定義網格類型的視圖。我正在對它們進行很多子視圖。我有必要根據用戶的交互和新數據到達時重新加載Gird新的視圖集。在iOS中管理子視圖

我分配內存爲我的子視圖這樣的:

while(index < count) 

CustomGridTile *view = [[CustomGridTile alloc] initWithFrame:frame]; 

[self addSubView:view]; 

[view release]; 

} 

當我想刷新我的網,我從他們的superViews刪除所有子視圖,並創建一套新的網格小塊(子視圖)的,添加到自定義Gird查看併發布它們。

我是否正確地做事?這能否給我帶來記憶相關的問題?

回答

2

只要你刪除子視圖,它應該釋放內存。

說明:

當您分配視圖CustomGridTile其保留計數爲1。當你將它添加爲子視圖,其保留計數將成爲2.當您鬆開,保留計數變爲1。最後,當你刪除子視圖,其保留計數將變爲零,應該被釋放。

0

釋放的觀點可以帶來一些問題 - 我建議嘗試沿着這些線路對他們產生自動釋放什麼

否則我會做的是,當你從上海華盈釋放刪除它爲好,但之後你釋放添加它作爲子視圖給了我過去的麻煩