好的,所以我有一系列UITextFields,它们的标签介于21和35之间。我使用UITextField委托来获取文本字段的值,当它完成编辑后再添加到一个可变数组中。委托方法的代码如下:
- (void)textFieldDidEndEditing:(UITextField *)textField{
if(textField.tag >=21 && textField.tag <36){
if(textField.text.length != 0)
[ingredients addObject:textField.text];
}
}
因此,当文本字段完成编辑时,它会将其值添加到可变数组中。一切都很好。但是,如果再次编辑该文本字段会出现问题,如果用户更改该文本字段中的值,则会将另一个值添加到数组中,我希望编辑之前的值而不是在数组中创建新值
欢迎任何帮助!
答案 0 :(得分: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]];
}
}
答案 1 :(得分:0)
初始化时,在配料阵列中添加15个空字符串。然后,当调用textFieldDidEndEditing:
时,将字符串设置为适当的索引(textField.tag - 21)
,而不是使用addObject: