コードなどの標準的なアニメーションを使用してテーブルから行を削除するUITableViewRowAnimationFade
と、次のエラーでクラッシュします。
*** キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。理由: '無効な更新: セクション 1 の行数が無効です。更新後の既存のセクションに含まれる行数 (4) は、行数と等しくなければなりません更新前にそのセクションに含まれていた (4)、そのセクションから挿入または削除された行数 (0 挿入、1 削除) をプラスまたはマイナスします。
アニメーション行を削除すると、行の削除/削除は機能しますが、Apple のクールな削除トランジションはなくなりました。
これが私のコードです - どんな助けでも大歓迎です。行を削除するこの方法はiOS4より前に機能していましたが、何かが変更されたかどうかわかりませんか?
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
// If row is deleted, remove it from the list.
if (editingStyle == UITableViewCellEditingStyleDelete) {
NSIndexPath *path = [NSIndexPath indexPathForRow:indexPath.row inSection:0];
MyItem *myItem = [self.getItemsFetchedResultsController objectAtIndexPath:path];
[dataRepository deleteItem:myItem];
// If I comment this line out the delete works but I no longer have the animation
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[self.tableView reloadData];
}
}
データ リポジトリ:
-(void)deleteItem:(MyItem *)myItem {
[self.managedObjectContext deleteObject:myItem];
[self saveCurrentContext];
}