私はviewControllerにテーブルビューを追加しました(私はこのようにしました)。 テーブルビューの各セルにはセグメントコントローラがあり、ユーザがそのセルをクリックするとセルが削除/削除されます。tableViewからセルを削除する
私は例外を取得することになり、私はそれを解決する手がかりがありません。
2012-01-23 15:35:26.729 TestProject [21003:707] *アサーション障害 で - [のUITableView _endCellAnimationsWithContext:]、 /SourceCache/UIKit/UIKit-1448.89/UITableView.m。 995
2012-01-23 15:35:26.761 TestProject [21003:707] *によるキャッチされない例外にアプリ 'NSInternalInconsistencyException' を終端する理由: 「無効更新:セクション0の行の無効数。既存のセクションに含まれる 行の数update(2)は、 update(2)の前に、そのセクションに含まれる行の数に、 (0が挿入された、1が削除された) から挿入または削除された行の数をプラスまたはマイナスしたものでなければなりません。
これまでのコードです。
ボタンイベントで、
UITableViewCell *cell=(UITableViewCell *)segmentController.superview.superview;
NSIndexPath *indexPath = [self.myTableView indexPathForCell:cell];
Person *person= [[self allThdata] objectAtIndex:indexPath.row];
[self.allThdata removeObjectIdenticalTo:person];
[self.myTableView beginUpdates];
[self.myTableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];
[self.myTableView endUpdates];
私もremoveObjectAtIndex: indexPath.row
とremoveObject: person
を試してみました。これが機能していないもの
私はこれを試したと思うが、:
この
は、トリックを行う必要があります;'ラインは、 '[self.myTableView beginUpdates】上述しました;'。 – Illepこれは '[self.myTableView beginUpdates];'の下にあるべきです。 –