私のプログラムは、(実行時にユーザーが決定する)画面に不定な量のビューを追加し、配列にそれらを保存することによってこれらのビューを追跡します。私のビューコントローラ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
@sch '[balanceItems removeAllObjects]' – Mahir
これは具体的なエラーはありませんが、不正アクセスと表示されます – Mahir