我的程序向屏幕添加了不确定数量的视图(由用户在运行时确定),并通过将这些视图存储在数组中来跟踪这些视图。正确的方式释放存储在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