【发布时间】:2015-02-13 21:27:59
【问题描述】:
我有表格视图部分标题,它显示关于该部分中包含的对象的摘要信息(特定属性的总和)。
当用户通过在表格单元格上滑动来删除对象时,我会从模型中删除该对象,并且 FetchedResultsController 通过其委托从表格视图中删除该单元格。
删除一个对象:
NSManagedObject *mo = [self.fetchedResultsController objectAtIndexPath:indexPath];
[self.context performBlockAndWait:^{
[self.context deleteObject:mo];
[[APDatabase database] saveContext];
}];
作为响应,FRC 调用它的委托,我为被移除的单元格设置动画。
- (void)controller:(NSFetchedResultsController *)controller
didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath
forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath
{ ...
case NSFetchedResultsChangeDelete:
[self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
break;
... }
问题是部分标题中的总数现在已经更改,但部分标题仍显示旧的总数。我不能打电话给[tableView reloadData],因为那会停止被删除单元格的动画。
如何在删除对象时更新节标题总计?
节标题是使用
创建的-(UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
并使用[theSection objects]处理该部分中包含的对象
非常感谢您的帮助
【问题讨论】:
标签: ios objective-c uitableview core-data