我有添加和删除按钮,可以在 View 中添加文本字段。现在我想将文本字段值存储在字典中。
-(void)addTextField{
keyTextField = [[UITextField alloc] initWithFrame:CGRectMake((((self.view.frame.size.width)*5)/100), yAxisDistance, (((self.view.frame.size.width)*40)/100),(((self.view.frame.size.height)*8)/100))];
keyTextField.borderStyle = UITextBorderStyleRoundedRect;
keyTextField.placeholder = @"Key Value";
keyTextField.delegate = self;
mKeyTag+=1;
keyTextField.tag = mKeyTag;
[self.view addSubview:keyTextField];
valueTextField = [[UITextField alloc] initWithFrame:CGRectMake((((self.view.frame.size.width)*55)/100), yAxisDistance, (((self.view.frame.size.width)*40)/100),(((self.view.frame.size.height)*8)/100))];
valueTextField.borderStyle = UITextBorderStyleRoundedRect;
valueTextField.placeholder = @"Value";
valueTextField.delegate = self;
mValueTag+=1;
valueTextField.tag = mValueTag;
[self.view addSubview:valueTextField];
yAxisDistance = yAxisDistance+(((self.view.frame.size.height)*13)/100);
}
-(void)deleteTextField{
if (mKeyTag>=1000) {
UITextField *textField = (UITextField *)[self.view viewWithTag:mKeyTag];
[textField removeFromSuperview];
mKeyTag-=1;
yAxisDistance = yAxisDistance-35;
}
if (mValueTag>=2000) {
UITextField *textField = (UITextField *)[self.view viewWithTag:mValueTag];
[textField removeFromSuperview];
mValueTag-=1;
}
}
如果我单击“添加”,它会添加两个文本字段,一个用于键值,一个用于该键的值。但是如果我通过单击添加按钮 5 次添加 5 对文本字段并为这些文本字段提供一些值并尝试存储在字典中,它只存储最后一个文本字段值。但我想存储这 5 对文本字段中提供的所有数据。为了存储数据,我正在使用以下代码
NSMutableDictionary *Dict = [[NSMutableDictionary alloc]init];
[Dict setValue:valueTextField.text forKey:keyTextField.text];
请帮忙,因为我是这个领域的新手。
最佳答案
如果您希望一个键有多个值,您需要的是一个字典,其中的值是一个可变数组,并不断向其中添加值。
- (void)addValue:(id)value forKey:(id<NSCopying>)key
{
NSMutableArray *array = self.dictionary[key];
if (array == nil)
{
array = [NSMutableArray array];
self.dictionary[key] = array;
}
[array addObject:value];
}
关于ios - 将文本字段值存储在字典中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420433/