我有一个包含7个不同部分的动态表视图。我为每个部分使用不同的单元标识符,即第一部分的标识符10,第二部分的20,第三部分的30,依此类推(70为第7)。代码是:
static NSString *CellIdentifier;
UITableViewCell *cell=nil;
CellIdentifier = [NSString stringWithFormat:@"%@%d%d",@"Cell",indexPath.section,indexPath.row];
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
第7节(CellIdentifier 60)包含一个加号按钮,点击该加号按钮,将在第6和第7部分之间创建一个新的部分,也就是说,部分的数量将增加1,第7部分将变为第8节(CellIdentifier 70)。使用UITableView的insertSections方法将新部分作为第7节(CellIdentifier 60)插入,这个新部分将包含一个删除按钮(代替加号按钮)。现在,如果我删除此部分(单击删除按钮,使用的方法是UITableView的deleteSections),则第7部分将被删除,第8部分将变为第7部分(CellIdentifier再次变为60)(之前仅为第7部分)。现在,问题出现了。如果我滚动表格视图,那么我删除的部分重新出现与包含加号按钮的部分重叠(两者在某个时间点都有CellIdentifier 60)。 有没有人有这方面的解决方案?请帮帮我。
答案 0 :(得分:1)
您必须为每个部分使用唯一标识符。它们不能重叠 - 即使在不同的时间。具有任何特定CellIdentifier的单元格一遍又一遍地重复使用。
请确保您的经常出现和消失的部分具有完全唯一的单元格标识符,您应该没问题。