识别多个UITextField和行索引

时间:2012-07-03 13:10:16

标签: iphone xcode uitableview uitextfield

这是我的问题:

我有一个模型类数组(比方说,'addressModel'包含字段地址,街道和城市。)。现在我有一个自定义单元格,其中包含三个UITextField,用于模型类中的三个字段。一旦用户结束编辑,我想(验证和)将特定文本字段中的数据添加到相应的模型对象。 (例如:用户结束编辑addressTextField,然后是addressModel.address = addressTextField.text)。

我们如何识别用户选择的文本字段和indexPath.row?在我的情况下,我需要知道两者?有什么帮助吗?

谢谢。

3 个答案:

答案 0 :(得分:2)

如果视图控制器实现了UITextFieldDelegate协议,则可以接收textFieldDidEndEditing方法调用。在那里,您可以获取用户刚刚编辑的字段的标记。创建单元格时,您可以指定某种整数标记方案,以便您可以反向设计用户当时正在编辑的部分,行和特定字段。你可以这样做:

textField.tag = (indexPath.section * 10000) + (indexPath.row * 100) + (textFieldIndex);

假设每行没有超过100个textField,或每个部分有100行,则此特定方案应该有效。

答案 1 :(得分:0)

您可以在用户完成编辑时验证数据我的意思是您可以在UITextField委托方法中验证数据:

- (void)textFieldDidEndEditing:(UITextField *)textField;

这里不需要找出哪个文本字段被编辑,因为你将获得该textfield。如果你想确定哪一行,那么你可以分配标签,这只是行,文本字段,在此基础上你会知道编辑哪一行文本域。

答案 2 :(得分:0)

设置每个文本字段的单独标记..并在didEndEditing:方法上使用以下代码....

  if(textField.teg == FIRST_TAG){
      // do your code
  }
  else if(textField.teg == SECOND_TAG){
         // do your code
 }...

 and soo on.... 

这可能会对你有帮助......