0

わかりましたので、21 から 35 までのタグを持つ一連の UITextFields があります。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 に答える