UITextField编辑并添加到数组

时间:2013-04-08 11:45:36

标签: ios xcode ipad nsmutablearray uitextfield

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

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

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

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

欢迎任何帮助!

2 个答案:

答案 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: