繁体   English   中英

如何再次设置字典的用户默认值

[英]How to set again user default for dictionary

如何再次将用户默认设置为字典。

创建字典对象并为其设置值。

NSMutableDictionary * loginDictionary = [[NSMutableDictionary  alloc] init];
[loginDictionary setValue:@"My Address" forKey:@"ADDRESS_KEY"];
 [loginDictionary setValue:@"1234567890" forKey:@"PHONE_KEY"];
    [[NSUserDefaults standardUserDefaults] setObject:newDictionary forKey:@"INFO_KEY"];
[[NSUserDefaults standardUserDefaults] synchronize];

现在,我评估那些字典值并将其分配给其他对象。

    NSDictionary *RetrievedDictionary = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"INFO_KEY"];
  txt_Address.text = [RetrievedDictionary objectForKey:@"ADDRESS_KEY"];
  txt_Mobile.text = [RetrievedDictionary objectForKey:@"PHONE_KEY"];

如何更新?
这就是我尝试的。

 [[NSUserDefaults standardUserDefaults] setObject:@"Changed Address" forKey:@"ADDRESS_KEY"];
[[NSUserDefaults standardUserDefaults] setObject:@"0987654321" forKey:@"PHONE_KEY"];
    [[NSUserDefaults standardUserDefaults] synchronize];

它不适合我,需要您的小建议我在做什么错。 @提前致谢。

 NSMutableDictionary* changedDictionary = [NSMutableDictionary dictionaryWithDictionary:[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"INFO_KEY"]];
 [changedDictionary setObject:@"Changed Address" forKey:@"ADDRESS_KEY"];
 [changedDictionary setObject:@"0987654321" forKey:@"PHONE_KEY"];
 [[NSUserDefaults standardUserDefaults] setObject:changedDictionary forKey:@"INFO_KEY"];
 [[NSUserDefaults standardUserDefaults] synchronize];
NSMutableDictionary * loginDictionary = [[NSMutableDictionary alloc] init];
[loginDictionary setValue:@"My Address" forKey:@"ADDRESS_KEY"];
[loginDictionary setValue:@"1234567890" forKey:@"PHONE_KEY"];
[[NSUserDefaults standardUserDefaults] setObject:newDictionary forKey:@"INFO_KEY"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

您正在创建loginDictionary,但是将newDictionary添加到NSUserDefaults。 我也建议使用常量键。

这个怎么样?

 NSMutableDictionary *changedDictionary = [[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"INFO_KEY"] mutableCopy];
 [changedDictionary setObject:txt_Address.text forKey:@"ADDRESS_KEY"];
 [changedDictionary setObject:txt_Mobile.text forKey:@"PHONE_KEY"];
 [[NSUserDefaults standardUserDefaults] setObject:changedDictionary forKey:@"INFO_KEY"];
 [[NSUserDefaults standardUserDefaults] synchronize];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM