1

テーブルから UITableViewCell を削除しようとしています。削除したいセルが画面からスクロールされてリサイクルされる可能性があるため、問題が発生しています。次のエラーが表示されます。

キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: ' * -[__NSPlaceholderArray initWithObjects:count:]: オブジェクトから nil オブジェクトを挿入しようとしています [0]

削除されたセルがテーブルビューに表示されている場合、削除メソッドは完全に機能します。

これを解決する方法を知っている人はいますか?

ありがとう

4

2 に答える 2

2

セルを削除する最善の方法は、最初にデータ ソース (NSmutableArray) 内のアイテムを削除してから、セルを削除するか、uitableview をリロードすることです。

[yourArray removeObjectAtIndex:yourIndex];
[yourTableView reloadData];

于 2012-07-24T10:59:39.540 に答える
0

確かに UITableView にデータを入力しますよね?このデータは、NSArray などのコンテナー クラスから取得される可能性が最も高いと思います。NSArray からデータのアイテムを削除し、セクションの行数を新しいアイテム数で更新するだけです。画面外にある場合は、UITableViewCell を削除しようとしないでください。

于 2012-07-24T10:56:39.980 に答える