对于iOS开发者而言,UITableView是最常用也是最普通不过的列表展现形式,然而当遇到多项列表战象相同方式时,大多都会选择使用cell重用机制,然而这里面有一个隐藏的问题,如果上滑移出屏幕,或者下拉刷新第二页数据,我们会经常遇到cell重影,也就是说,原来的cell内容没有清空,后续的数据已经加载进去。遇到这种问题解决办法是:
YGSportCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell == nil) {
cell = [[YGSportCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"sportCell"];
}
cell.delegate = self;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
if([itemData.list[indexPath.row] isKindOfClass:[NSArray class]]){
cell.mutArr = itemData.list[indexPath.row];
}
return cell;
这里面最主要的是使用第一句话:
[tableView cellForRowAtIndexPath:indexPath]
这句话的意思就是对每一个cell都使用不同的cell,这样也有一个bug,也就是说,如果展现列表多,这样就增加了App的负荷,导致使用量过多,因此这个并不是最好的解决办法,但是目前,小编能想到的解决办法如此,后续如果有更好的方法,小编会继续更新迭代,如果各路大神如果有更好的解决办法,不吝赐教。