单元格在 tableView 中动态地来来去去。使用它们来存储值会让你发疯。我建议使用可变数组来存储数据并为单元格提供所需的内容。
这是一个简单的 3 个步骤的解决方案。
1,子类化一个 UITableCell 并将其用于所有原型单元格。在单元格子类中您所要做的就是设置单元格中任何元素的所有属性(并在 .m 文件中合成它们)
2,在 IB 中,将所有单元格的类设置为您刚刚创建的 UITableCell 子类,这是关键部分,在 IB 中,控制从单元格拖动到您想要链接到的任何元素(在该单元格中) . 这对于第三步的工作是必不可少的。
3,在您的 UITableViewController 中,在 cellForRowAtIndexPath: 方法中,使用您的单元格子类并使用 tableView 的索引(您在该方法调用单元格中获得)标记您想要的任何内容。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellOneID = @"CellOne";
MySubclassTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// Configure the cell...
cell.textFieldOne.tag = indexPath.row;
cell.textFieldOne.delegate = self;
cell.labelTwo.text = [myMutableArray objectForIndex:indexPath.row];
cell.labelTwo.tag = indexPath.row;
return cell;
}
您可以通过更改数组中的相应对象然后调用来更改标签文本:
[self.tableView reloadData];
然后,当您的 textField 调用说它正在发生事情时,您可以检查它的标签并知道它是哪一个。(当然是通过在 VC 中实现 UITextField 委托方法)