我成功删除UITableView中的行只是为了找出对象本身没有被删除。这会导致错误,因为predicateWithFormat:由于已删除的对象被计入,因此不会返回正确数量的记录。
请在下面找到我的删除代码。应该添加或更改什么?
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
[[_fetcher.fetchedObjects[indexPath.row] MR_inContext:localContext] MR_deleteInContext:localContext];
}];
}
} - (void)controller:(NSFetchedResultsController *)controller didChangeSection:(id)sectionInfo atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type { if(_userMovingTableRows)返回;
switch(type) {
case NSFetchedResultsChangeInsert:
[self.tableView insertSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationAutomatic];
break;
case NSFetchedResultsChangeDelete:
[self.tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationAutomatic];
break;
}
}