0

私はテーブルビューで本のリストを持っています。次に、「削除」および「追加」機能を作成しました。

問題は、データを追加または削除するときはいつでも [self.tableView reloadData]; を使用することです。テーブルデータをリロードします。

ここでの問題は、行を修正するとデータがエラーなしで再ロードされますが、行番号が変更されるとエラーが発生することです。確認したところ、更新されていないのは行番号のカウントであることに気付きました。どうすればいいですか?numberOfRowsInSectionn で [arrayOfNames count] を使用しており、cellForRowAtIndexPath で行番号を更新しています。行番号は cellForRowAtIndexPath で更新されますが、numberOfRowsInSectionn は新しい行数で更新されません

4

1 に答える 1

2

データソースを変更せずに reloadData を呼び出すことはできません。データ ソースが配列の場合は、ユーザーが削除した要素を持たない別の配列に置き換える必要があります。そうしないと、numberOfRowsInSection で間違った数値が返され、アプリがクラッシュします。

于 2012-12-05T01:22:59.747 に答える