当移动带有核心数据的UITableView部分的最后一行时 - > NSRangeException

时间:2010-02-25 22:45:24

标签: iphone cocoa-touch uitableview core-data

嗨:在我在'controllerDidChangeContent:'中实现'userDrivenChange'检查后,在Core Data支持的UITableView中各部分之间移动行的工作非常好,如苹果文档中所述。 但只有当将一个部分的最后一行移动到另一个部分时,我才会得到 NSRangeException 。当部分变空时,显然存在问题。我怎么能处理最好的方法?

1 个答案:

答案 0 :(得分:0)

您是否实施了-controller:didChangeSection:atIndex:forChangeType:方法?如果没有,那可能看起来像这样:

-(void)controller:(NSFetchedResultsController *)controller didChangeSection:(id <NSFetchedResultsSectionInfo>)sectionInfo atIndex:(NSUInteger)sectionIndex forChangeType:(NSFetchedResultsChangeType)type {     
    switch(type) {          
        case NSFetchedResultsChangeInsert:
            [self.tableView insertSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade];
            break;

        case NSFetchedResultsChangeDelete:
            [self.tableView deleteSections:[NSIndexSet indexSetWithIndex:sectionIndex] withRowAnimation:UITableViewRowAnimationFade];
            break;
    }
}