iOS Swift dequeueReusableCellWithIdentifier导致重叠

时间:2014-12-02 08:53:45

标签: ios uitableview swift

这让我很生气,我已经看过周围的每一篇文章。

我正在使用自定义tableview单元类和XIB文件。这一切都很好,直到我滚动屏幕上的桌子视图(那个老板栗)。我知道它与 dequeueReusableCellWithIdentifier 方法有关,而不是清除旧数据。但是我不知道如何实现这一点。

一旦细胞滚出屏幕,它会导致重叠,并继续向细胞添加图像。

let cell: DetailHeaderTableViewCell = tableView.dequeueReusableCellWithIdentifier("detailHeaderTableViewCell") as DetailHeaderTableViewCell

根据我的发现,我需要实现这样的事情:

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil];

UIImageView *defaultImageView;
UILabel *customLabel;

if (cell == nil) {
    // create the cell and empty views ready to take the content.
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
} else { ... }

但是我无法解决如何在swift中实现这一目标。

非常感谢提前。

1 个答案:

答案 0 :(得分:1)

您正在寻找的是UITableViewCell's prepareForReuse方法。

如果您正在使用自定义UITableView单元格,则需要使用此方法来清除单元格中的所有旧数据,然后才能重复使用。