删除与UITableViewRowAnimationFade的关系

时间:2013-10-17 15:37:20

标签: ios uitableview nsfetchedresultscontroller

说,我有一个实体“父母”,可以有多个“孩子”。在删除期间,我这样做:

[self.parent removeChildObject:self.childToRemove];
[self.managedObjectContext save:nil];

只有这样,场景不会改变,并且不会删除该行。所以我做的是再次检索“父母”下的所有“孩子”并致电

[self.tableview reloadData];

虽然它做得恰到好处,但删除似乎是即时的。这一排刚刚眨眼就消失了。我想让它以行淡化为动画。

我读到只有使用NSFetchedResultsController获取的实体调用此委托方法“didChangeObject”,我将行动画淡入淡出。但是,为了检索“Child”,我没有使用控制器获取它,但是我从

获取它
[self.parent children];

1 个答案:

答案 0 :(得分:0)

这段代码应该这样做。

[self.tableView beginUpdates];
NSArray * rowIndexPathArray = @[childObjectIndexPath];
[self.tableView deleteRowsAtIndexPaths:rowIndexPathArray withRowAnimation:UITableViewRowAnimationFade];
[self.tableView endUpdates];