UITableView常用的刷新方式
// UITableView.h
// 方式1:刷新整个table
- (void)reloadData;
// 方式2:刷新指定的cells
- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths
withRowAnimation:(UITableViewRowAnimation)animation;
// 方式3:多个insert/delete批量事务处理
- (void)beginUpdates; // allow multiple insert/delete of rows and sections to be animated simultaneously. Nestable
- (void)endUpdates; // only call insert/delete/reload calls or change the editing state inside an update block. otherwise things like row count, etc. may be invalid.
方式1会刷新整个table,一般情况下不建议使用
当cell显示的数据需要发生变化时,通常采用方式2:只刷新指定的cell(s),对table中的其它cell不会产生影响。
当insert/delete cell的时候,一般使用方式3,
单个Cell的局部刷新
案例
我们现在有一个cell,需要显示如下3类信息:
用户基本信息:昵称、性别、头像、
用户的粉丝数量
用户的关注数量
以上3类信息的数据由服务端提供了3个不同的接口调用。
要将这个cell的数据显示完全,需要进行3次接口调用,如果按照方式2则需要将cell刷新3次!!!如下我将介绍一种cell局部刷新的方式:
cell局部刷新
// 更新用户基本信息
[cell updateBasicView];
[tableView beginUpdate];
[tableView endUpdate];
// 更新�用户粉丝数量
[cell updateFansView];
[tableView beginUpdate];
[tableView endUpdate];
// 更新�用户关注数量
[cell updateFollowView];
[tableView beginUpdate];
[tableView endUpdate];
这样cell就做到了局部刷新,是不是很简单?!