2012-03-05 65 views
1

如果我分配/初始化視圖並將其添加到代碼中的另一個視圖(我沒有使用xib) - 當包含UIViewController的dealloc消息發送時,是否需要刪除它?我在某些地方看過這些代碼,並想知道在某些情況下是否需要釋放內存?我是否需要從dealloc中的超級視圖中移除視圖?

感謝, 馬克

+1

如果這是一個新項目,您應該考慮使用ARC。否則下面的答案是正確的。 – 2012-03-05 10:08:16

回答

2

如果你這樣做,

UIView *v = [[UIView alloc] init]; 
[self.view addSubview:v]; 
[v release]; 

UIView *v = [[[UIView alloc] init] autorelease]; 
[self.view addSubview:v]; 

,該v將被釋放時,其父視圖釋放;

當父視圖使用addSubview時,它將保留子視圖,並在釋放時釋放子視圖。

2

這是沒有必要的。所有UIView子類都擁有subviews數組,它在最終的UIView dealloc消息中釋放,釋放您的視圖。

相關問題