NSFetchedResultsChangeDelete:删除UITableView行但不删除对象

时间:2013-11-20 09:28:17

标签: ios objective-c uitableview core-data nsfetchedresultscontroller

我成功删除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;
}

}

0 个答案:

没有答案