很抱歉,如果这个问题看起来很愚蠢,但经过几个小时的挖掘和搜索没有成功,我需要在这里问你帮忙。
我有一个UITableViewController
有15个自定义单元格。每个单元格内部都有UITextField
。
这是代码的一部分:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
Static NSString *CellIdentifier = @"ADDFIELDCELL";
AddListContentCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[AddListContentCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
[cell.myTextField setTag:[self.tagsArray objectAtIndex:indexPath.row] integerValue]];
return cell;
}
问题是当我在第一个单元格中键入内容(indexPath:0)后,同样的文本也会出现在第13个单元格中。第2和第14个细胞发生相同的映射。
我真的脾气暴躁,不应该做什么。任何帮助将不胜感激。
答案 0 :(得分:1)
正在重用(因此重用标识符)。
每个单元格的文本字段文本需要以某种方式链接到数据源(似乎是您的标记数组)。
更改该单元格上的文本时,必须修改数据源文本。
这样,当索引2处的单元格滚动时,它将使用数据源数组的索引2处的任何标记项填充文本字段。