我的程序向屏幕添加了不確定數量的視圖(由用戶在運行時確定),並通過將這些視圖存儲在數組中來跟蹤這些視圖。正確的方式釋放存儲在NSMutableArray中的視圖?
在我的視圖控制器
for (NSString *equationText in equationData) {
// creates a FormulaLabel object for every object in the equationData mutable array
FormulaLabel *tempLabel = [[FormulaLabel alloc] initWithFrame:CGRectMake(frame)];
[view addSubview:tempLabel];
[balanceItems addObject:tempLabel]; //balance items keeps track of all the views
當我更新我的數據,我需要在屏幕上意見不同的安排,所以我想反映一個數據的變化將刪除所有意見的最快方法目前在屏幕上並從更新的數據添加新視圖。
對於這種方法,(據我所知)我需要從上海華刪除的意見,釋放他們,並刪除存儲在balanceItems
的對象。然後我需要初始化新視圖,將它們添加到子視圖中,並將它們添加到數組中。但是,下面的代碼會生成一個錯誤。
for (UIView *view in balanceItems) {
[view removeFromSuperview];
[view release];
}
[balanceItems removeAllObjects];
什麼是正確的方式從超視圖以及數組中刪除視圖?
你得到的錯誤是什麼?在哪一行? – sch 2012-02-20 19:58:55
@sch'[balanceItems removeAllObjects]' – Mahir 2012-02-20 20:03:10
它沒有給出具體的錯誤,它只是表示訪問不好 – Mahir 2012-02-20 20:03:44