我在ViewControllerA上有一个dicionary,我通过Segue将该字典传递给ViewController B.the detailsDictionary包含如下用户详细信息:
{
City = abc;
Country = Indi;
DOB = "12/3/2016 12:00:00 AM";
EmailID = "abc@gmail.com";
FName = dhruv;
LName = kumar;
MName = Singh;
Password = "";
State = Chandigarh;
UserID = "f2266e5d-c709-42fb-ad98-b75873ac2fd1";
}
现在在View Controller B上有一些texfields,用户可以使用这些texfield更新他们的详细信息并将更新的详细信息发布到server.I已使用以下代码
-(void)textFieldDidEndEditing:(UITextField *)textField
{
NSInteger field = textField.tag;
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"fname"];
}
if(field ==2)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"mname"];
}
if(field ==3)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"lname"];
}
if(field ==4)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"city"];
}
if(field ==5)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"state"];
}
if(field ==6)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"country"];
}
if(field ==7)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"dob"];
}
}
我希望如果用户更新他们的详细信息,那么新的更新详细信息将保存在detailsDictionary中,否则如果用户没有进行任何更改detailDictionary保留以前的详细信息。但是,我无法实现这一点。我不明白我如何检查字典中的新细节,并在新细节的情况下更改值,或保留旧值以防万一。请提前帮助和感谢!
答案 0 :(得分:0)
您正确地执行此操作,只需要确保密钥与用户正在更新的密钥相同,因为密钥区分大小写,因此您需要确保使用相同的密钥,就像在您的代码中一样使用小写,而键包含一些大写字母
-(void)textFieldDidEndEditing:(UITextField *)textField
{
NSInteger field = textField.tag;
if(field ==1)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"FName"];
}
if(field ==2)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"MName"];
}
if(field ==3)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"LName"];
}
if(field ==4)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"City"];
}
if(field ==5)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"State"];
}
if(field ==6)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"Country"];
}
if(field ==7)
{
NSLog(@"cell1.userDetailTextField.text %@",textField.text);
[_detailsDictionary setObject:textField.text forKey:@"DOB"];
}
}