- beginUpdates和endUpdates时配合起来使用的,标记了一个TableView的动画模块,代表动画的开始和删除,可以嵌套使用。一般在UITableView执行:删除行,插入行,删除分组,插入分组时使用,用来协调UITableView的动画效果。
如果我们的UITableView是分组的时候,我们如果删除某个分组的最后一条记录时,相应的分组也将被删除。所以,必须保证UITableView的分组,和cell同时被删除。所以,就需要使用beginUpdates方法和endUpdates方法,将要做的删除操作“包”起来。
2.一般使用在下列方法中
- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;
插入指定的行, 在执行该方法时,会对数据源进行访问(分组数据和行数据),并更新可见行。所以,在调用该方法前,应该先更新数据源.
- (void)insertSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation;
插入分组到制定位置,插入一个特定的分组。如果,指定的位置上已经存在了分组,那么原来的分组向后移动一个位置。
- (void)deleteSections:(NSIndexSet *)sections withRowAnimation:(UITableViewRowAnimation)animation ;
删除制定位置的分组,删除一个制定位置的分组,其后面的分组向前移动一个位置。
- (void)moveSection:(NSInteger)section toSection:(NSInteger)newSection;
移动分组,移动原来的分组从一个位置移动到一个新的位置。如果,新位置上若存在某个分组,那这某个分组将会向上(下)移动到临近一个位置。该方法,没有动画参数。会直接移动。并且一次只能移动一个分组。