【问题标题】:Reusing of Custom Cells重用自定义单元格
【发布时间】:2012-02-16 06:10:14
【问题描述】:

我采用了一个自定义单元格,我没有在那边重用标识符。我在使用自定义单元格的表格视图中使用标识符。但是当我运行我的应用程序并在文本字段中输入数据时,当我滚动视图时,我的数据会被删除。我的单元格没有重用这些数据。任何人都可以帮助我解决这个问题。谢谢!

自定义单元格代码

-(UITableViewCell *)returnCellForEach:(UITableView *)tableView
{
    [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];

        myLabel = (UILabel *)[customCell.contentView viewWithTag:10];

    return customCell;
}

表格视图'cellForRowAtIndexPath'代码

static NSString *CellIdentifier = @"Cell";

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil)
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"Hello"] autorelease];
    }

这件事有什么错误。谢谢!

【问题讨论】:

    标签: iphone ios


    【解决方案1】:

    不应使用单元格来存储您的数据。如果用户在编辑字段中输入内容,您需要将内容复制到例如视图控制器中的成员变量。如果单元格被滚动到视野之外,它要么被销毁,要么可能被保留以供重复使用。无论哪种方式,您都不能再依赖该编辑字段存在。

    【讨论】:

    • 我没有使用单元格来存储数据。我知道单元格不会存储数据。我的 exat 问题是我的表格视图包含 15 个单元格。如果我在第一个单元格中输入数据并且如果我转到最后一个单元格第一个单元格中的数据正在被擦除。从某种意义上说,单元格没有重用数据。并且第一个单元格中的数据正在被擦除。
    • 这就是我的意思。您希望该单元格记住其内容,即使它已滚动到屏幕外。这是行不通的。牢房可能会被破坏和重建。您必须将内容复制到成员变量。并在被要求重新创建该单元格时重新填写。
    • Ravi Kiran:不要在创建单元格时为标签赋值。
    • @Mahesh:我正在使用数据库。我在文本字段中输入数据,我需要在下一个视图的标签中显示该数据。我可以这样做,但我有更多的 15 个单元格,每个单元格都有一个文本字段。所以我需要滚动剩余的文本字段来输入数据。所以如果我滚动我的数据正在破坏
    • @Kris Van Bael:对不起,我没能准确地得到你。如果你不介意你可以给我看一个示例代码。谢谢!
    【解决方案2】:

    我实际上没有得到你的问题,但我做了以下事情:

    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil)
        {
            cell = (CustomCell *)[[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] objectAtIndex:0];
        }
    
    myLabel = (UILabel *)[customCell.contentView viewWithTag:10];
    //myLabel = cell.labelWithTag10;
    myLable.text = @"Text";
    

    它对我来说很好用;

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-25
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多