删除table view cell方式
主要有两种方式:
- table view刷新
- 直接删除table view cell
1、全量刷新
第一步 先remove数据源。
第二部 reloadData
一下。
2、直接设置对应cell的数据源的高度为0,然后刷新
调用reloadData
全量刷新table view。
调用beginUpdates
和endUpdates
只刷高度。
3、差量刷新cell,隐藏对应cell
- (void)reloadRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;
注意:如果我们列表里边只有一个特定的cell,并且不希望生成新的cell时,需要慎用次方法刷新。
4、直接删除cell
- (void)deleteRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation
注意:如果有删有插入行
1、必须放在beginUpdates
和endUpdates
之间
2、table view 总是先删后插入行,所以我们在对数据源的数组操作的时候,应该是先删后插入
PS:一般当tableview需要同时执行多个动画时,才会用到beginUpdates
函数,它的本质就是建立了CATransaction
这个事务。