0

好的,所以我有一系列标签介于 21 和 35 之间的 UITextField。我正在使用 UITextField 委托在完成编辑时获取文本字段的值,然后将其添加到可变数组中。委托方法的代码如下:

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

if(textField.tag >=21 && textField.tag <36){
    if(textField.text.length != 0)
    [ingredients addObject:textField.text];
  }
}

因此,当文本字段完成编辑后,它会将其值添加到可变数组中。这一切都很好。但是,如果再次编辑该文本字段,则会出现我的问题,如果用户更改该文本字段中的值,它将向数组中添加另一个值,我希望编辑以前的值而不是在数组中创建新值.

任何帮助将不胜感激!

4

2 回答 2

2

您可以将您的成分对象从 NSMutableArray 更改为 NSMutableDictionary。例子:

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

    if(textField.tag >=21 && textField.tag <36){
        if(textField.text.length != 0)
            [ingredients setObject:textField.text forKey:[NSNumber numberWithInt:textField.tag]];
    }
}
于 2013-04-08T11:54:07.770 回答
0

初始化时,将 15 个空字符串添加到成分数组中。然后当textFieldDidEndEditing:被调用时,将字符串设置在适当的索引处,(textField.tag - 21)而不是使用addObject:

于 2013-04-08T11:50:17.513 回答