查找与放置在UITableView中的文本字段关联的行

时间:2012-06-07 14:00:30

标签: ios uitableview

我有一个表视图,包含许多字段,分为几个部分,字段来自数据库。我希望支持在字段中对文本进行就地编辑,因此我为每一行创建一个文本字段并将其添加到我的单元格中:

[cell.contentView addSubview:myTextField];

我给文本字段一个固定的标签,以便我可以轻松配置单元格:

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
    Item *item = [self itemWithIndexPath:indexPath];
    UITextField *textField = (UITextField *)[cell.contentView viewWithTag:1000];
    textField.text = item.name;
}

编辑文本字段后,我需要更新数据库。我可以在文本字段上设置一个委托来响应编辑的结束,但我不得不找出哪个indexPath已被编辑,以便我可以适当地更新数据库。

我该怎么做?

我想我可以维护一个tag-> IndexPath映射,每次配置一个单元格时都会更新,但这感觉有些过分。我疲惫的大脑是否错过了明显的东西?

谢谢,

1 个答案:

答案 0 :(得分:1)

所以,我的大脑开始工作了:

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    UITableViewCell *cell = (UITableViewCell *)textField.superview.superview;
    NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
    Item *item = [self itemWithIndexPath:indexPath];
    item.name = textField.text;
}