再次设置后,从iPhone中的NSUserDefault检索值

时间:2012-09-13 10:37:44

标签: iphone ios5 nsuserdefaults

在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。为什么会发生这种情况,我将如何获得新的设定值?

2 个答案:

答案 0 :(得分:0)

控制器B中的

使用以下命令更改用户默认值

NSString *timeString =[[[NSUserDefaults standardUserDefaults] objectForKey:@"alarmTime
    "]mutableCopy];

        timeString = mTimeIntervalSTR;

 [[NSUserDefaults standardUserDefaults]setObject:timeString
     forKey:@"alarmTime "]; 

        [[NSUserDefaults standardUserDefaults]synchronize];

答案 1 :(得分:-1)

添加值后,请致电[[NSUserDefaults standardUserDefaults] synchronize];