0

在 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 中设置这个用户默认值,对于这个 m 使用这个:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:mTimeIntervalSTR forKey:@"alarmTime"]; [prefs synchronize];

现在,当我需要在控制器 A 中获取这个新值时,它即将到来的 Null。为什么会发生这种情况,我将如何获得新的设定值?

4

2 回答 2

0

在控制器 B 中使用以下内容更改用户默认值

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

        timeString = mTimeIntervalSTR;

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

        [[NSUserDefaults standardUserDefaults]synchronize];
于 2012-09-13T10:53:04.853 回答
-1

添加值后,调用[[NSUserDefaults standardUserDefaults] synchronize];.

于 2012-09-13T10:41:59.370 回答