解决UITableViewCell数据重用的问题

来源:互联网 发布:mac安装win10镜像 编辑:程序博客网 时间:2024/05/21 10:23

这里写图片描述

上面这种方法效果最好
其实很简单就是删除重用cell的所有子视图,这句话什么意思呢?当我们从缓存池中取得重用的cell后,通过删除重用的cell的所有子视图,从而得到一个没有特殊格式的cell,供其他cell重用。是不是还是没懂什么意思,那我们就接着来看代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *ID = @"Cell";UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; //出列可重用的cellif (cell == nil) {    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];} else{ //删除cell的所有子视图 while ([cell.contentView.subviews lastObject] != nil) {  [(UIView*)[cell.contentView.subviews lastObject] removeFromSuperview];//强制装换为UIView类型 ,移除所有子视图   }}return cell;}  
原创粉丝点击