UITableViewController奇怪的行为

时间:2014-04-26 19:21:35

标签: objective-c uitextfield uitableview

很抱歉,如果这个问题看起来很愚蠢,但经过几个小时的挖掘和搜索没有成功,我需要在这里问你帮忙。 我有一个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个细胞发生相同的映射。

我真的脾气暴躁,不应该做什么。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

正在重用(因此重用标识符)。

每个单元格的文本字段文本需要以某种方式链接到数据源(似乎是您的标记数组)。

更改该单元格上的文本时,必须修改数据源文本。

这样,当索引2处的单元格滚动时,它将使用数据源数组的索引2处的任何标记项填充文本字段。