如何丢弃与UITableView关联的所有表单元格以便刷新它们



我创建了一次表格单元格,因为由于单元格上的所有图像,这是一个缓慢的过程。这是非常罕见的任何变化,但有一种罕见的情况下,我想完全改变细胞。

获得单元格的代码是

UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier];

如果没有关联的单元格,我创建一个。

    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:PlaceholderCellIdentifier];

if (cell == nil)
{
    //create cell
    return cell;
}
else
{
    return cell;
}

是否有一种方法可以转储与该表关联的所有可重用单元格?所以当我打电话给时

[table reloadData];

它会产生一组新的细胞吗?

非常感谢,-代码

根据这个答案,你可以。然而,我强烈反对。干涉类内部是不好的做法。

除此之外,我不明白你为什么要这么做。细胞的重复使用实际上是为了加快这个过程并减少使用过的内存。我不明白从零开始创建一个单元格怎么会比重用一个单元格更快。

只需重用现有的单元格。没有必要取消分配现有的。

我想你想以不同的方式问这个问题。您可能想问,如何强制表视图重新显示每个具有更新数据的单元格?如果是,那么答案是使用呼叫

[self.tableView reloadData];

(假设您将调用放置在表视图控制器中)

最新更新