UITableView 滚动离开屏幕时清除单元格值

Posted

技术标签:

【中文标题】UITableView 滚动离开屏幕时清除单元格值【英文标题】:UITableView clear the cell value when scroll off the screen 【发布时间】:2011-09-03 20:12:13 【问题描述】:

我有从 nib 文件创建的表格视图单元格。 tableview 中有不同的单元格,要通过键盘获取输入,我必须在屏幕上滚动 tableview。现在的问题是当我这样做时,我的单元格值被清除了。

我知道当视图关闭并显示在屏幕上时会重新创建单元格,但更糟糕的是我的用户默认变量此时为空,并且我得到空文本字段。

要确认该值仍在用户默认值中,当我重新加载应用程序时,该值会返回。

这就是我创建 tableviewcell 的方式

else if ([indexPath row] == 4)

    static NSString *WeeklyHoursCellIdentifier = @"WeeklyHoursCell";

    WeeklyHourTableViewCell *tempTextfieldcell = (WeeklyHourTableViewCell *)[self.tableView dequeueReusableCellWithIdentifier:WeeklyHoursCellIdentifier];
        if (tempTextfieldcell == nil) 
            [[NSBundle mainBundle] loadNibNamed:@"WeeklyHourTableViewCell" owner:self options:nil];
            tempTextfieldcell = calculateTextFieldTableViewCell;
            self.calculateTextFieldTableViewCell = nil;
    


    if ([prefs objectForKey:@"iPhoneWeeklyHours"] != nil) 
            tempTextfieldcell.textField.text = [prefs objectForKey:@"iPhoneWeeklyHours"];

        

任何想法的家伙。我真的被困在这里了。

谢谢

【问题讨论】:

您是否尝试记录prefs[prefs objectForKey:@"iPhoneWeeklyHours"] 的值? 是的,我试过了,它打印 null。 这篇文章对你有帮助:***.com/questions/5807957/…祝你好运, prefs 不为空,但 [prefs objectForKey:@"iPhoneWeeklyHours"] 为空。这很奇怪,因为如果我重新启动应用程序,值仍然存在。 【参考方案1】:

上面的代码非常好。我在我的代码中发现了错误。我将 null 分配给 [prefs objectForKey:@"iPhoneWeeklyHours"] 这是我需要避免的。

感谢大家花时间回答这个问题。

【讨论】:

以上是关于UITableView 滚动离开屏幕时清除单元格值的主要内容,如果未能解决你的问题,请参考以下文章

UITableview 单元格子视图的高度比单元格大

自定义tableviewcell中的文本字段在滚动时离开单元格

UITableView 滚动时动画单元格

到达屏幕结束时在 UITableView 自定义单元格中包装文本(Swift)

UITableView 滚动类似于 Frontback 应用

使用默认单元格值加载一次视图后如何更新 UITableView 单元格(cell.detailTextLabel.text)的值