我采用了自定义单元格,我没有在那里重复使用标识符。我在表视图中使用标识符,我在那里使用自定义单元格。但是,当我运行我的应用程序并在textfield中输入数据时,我滚动视图时数据被删除。我的单元格没有重复使用该数据。任何人都可以帮助我解决这个问题。谢谢!
自定义单元代码
-(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];
}
这是我的错误。谢谢!
答案 0 :(得分:1)
不应使用单元格来存储数据。如果用户在编辑字段中输入内容,则需要将内容复制到例如视图控制器中的成员变量。如果单元格被滚动到视图之外,它将被销毁,或者可能保留以供重用。无论哪种方式,您都不能再依赖该编辑字段了。
答案 1 :(得分:0)
我实际上没有得到你的问题,但我做了如下:
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";
它对我来说很好;