在App委托中,我有以下代码:
NSUserDefaults *pref = [NSUserDefaults standardUserDefaults];
NSString *alrmTime = @"10:00 AM";
[pref setObject:alrmTime forKey:@"alarmTime"];
[prefs synchronize];
从这里开始,我使用代码
从控制器A中的App委托用户Daeault获取NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *tempAlarmTime = [defaults stringForKey:@"alarmTime"];
cell.textLabel.text = [NSString stringWithFormat:@"Remind At %@", tempAlarmTime];
现在,我需要在Controler B中设置此userdefault,对于此m使用:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:mTimeIntervalSTR forKey:@"alarmTime"];
[prefs synchronize];
现在,当我需要在Controller A中获得这个新值时,它就会出现Null。为什么会发生这种情况,我将如何获得新的设定值?
答案 0 :(得分:0)
使用以下命令更改用户默认值
NSString *timeString =[[[NSUserDefaults standardUserDefaults] objectForKey:@"alarmTime
"]mutableCopy];
timeString = mTimeIntervalSTR;
[[NSUserDefaults standardUserDefaults]setObject:timeString
forKey:@"alarmTime "];
[[NSUserDefaults standardUserDefaults]synchronize];
答案 1 :(得分:-1)
添加值后,请致电[[NSUserDefaults standardUserDefaults] synchronize];
。