我如何保护UITableViewCell的文本,当滚动UITableView时会更改它。

static NSString *CellIdentifier = @"Cell";
CustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(indexPath.row != [destinationList count])
{
    if (cell == nil)
    {
        cell = [[CustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    cell.customLable.text = @"MyCustomLabel";
else
{
    if (cell == nil)
    {
        cell = [[CustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    cell.textLabel.text = @"Static Text to be set";
    [cell.customLable removeFromSuperview];
}


问题:每次滚动UITableView时,@“要设置的静态文本”在@“ MyCustomLabel”上被覆盖。

我该如何预防?我希望UITableView的所有单元格都可以通过Table的LifeTime保留其TextLabel。

最佳答案

两个可能的答案:


通常,这并不重要。重用该单元是应该的工作方式,您应该每次都完全“重置”每个单元。无论如何,您都不应该在单元格中存储状态
创建一个新的reuseIdentifier,一个用于自定义标签,另一个用于静态文本

08-18 16:13