NSMutableSet
使用中のコアデータでオブジェクトを削除できません。テーブルビューの2番目のセクションにある「プレーヤー」オブジェクトを削除しようとしています。エラーが発生します。
無効な更新:セクション1の行数が無効です。更新後の既存のセクションに含まれる行数(6)は、更新前のそのセクションに含まれる行数(6)に、プラスまたはマイナスの数と等しくなければなりません。そのセクションに挿入または削除された行の数(0が挿入され、1が削除された)およびプラスまたはマイナスそのセクションに出入りした行の数(0が入ってきた、0が出て行った)
解決
私のコードを見てください。
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete) {
if (indexPath.section==0) {
}else{
_player = [self.fetchedResultsController.fetchedObjects objectAtIndex: indexPath.row];
[self.managedObjectContext deleteObject:_player];
[self performFetch];
[self.managedObjectContext save:nil];
// here the solution to make it works...
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:1] withRowAnimation:UITableViewRowAnimationFade];
}
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
switch(section){
case 0:
return 4;
case 1:
return [self.fetchedResultsController.fetchedObjects count];
}
return 0;
}