2015-02-10 30 views
0

如何將用戶默認設置再次設置爲字典。如何再次設置用戶默認字典

創建字典對象併爲其設置值。

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]; 

它不適合我,需要你的小建議我做錯了什麼。 @感謝提前。

+0

以您設置的方式更新對象... **更改地址不是對象**。 – 2015-02-10 07:08:39

回答

2
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]; 
+0

感謝它的工作! – kiran 2015-02-10 07:33:06

0
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的。另外我會建議使用常量鍵。

0

這個怎麼樣?

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];