我将数据从服务器URL保存到nsuserdefaults作为User Detail。
现在在某个时刻,我想更新用户详细信息的2个键,但我无法做到这一点。没有变化。
这是我的代码:
NSDictionary *user;
NSMutableDictionary *userMut;
user=[[NSUserDefaults standardUserDefaults] objectForKey:@"User Detail"];
userMut=[user mutableCopy];
[userMut setValue:@"1" forKey:@"isMobileVerified"];
[userMut setValue:mobileNo.text forKey:@"mobile"];
任何帮助将不胜感激! Plz让我知道如果我做错了,如何更新存储在nsuserdefaults中的字典中的键值。
答案 0 :(得分:6)
您需要在设置值后同步更改:
[[NSUserDefaults standardUserDefaults] setObject:userMut forKey:@"User Detail"];
[[NSUserDefaults standardUserDefaults] synchronize];
答案 1 :(得分:2)
尝试使用它时添加值:
[[NSUserDefaults standardUserDefaults] setObject:userMut forKey:@"User Detail"];
您正在复制字典,然后对该副本不执行任何操作
答案 2 :(得分:2)
您已经制作了字典的副本并对其进行了更改,这不会影响用户默认对象中的原始副本。
将字典设置回用户默认对象应该可以解决问题:
[[NSUserDefaults standardUserDefaults] setObject:userMut forKey:@"User Detail"];