0

Appデリゲートには、次のコードがあります:

NSUserDefaults *pref = [NSUserDefaults standardUserDefaults];
NSString *alrmTime = @"10:00 AM"; 
[pref setObject:alrmTime forKey:@"alarmTime"];
[prefs synchronize];

ここから、コードを使用してコントローラー A の App デリゲート User Daeault から取得しています

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *tempAlarmTime = [defaults stringForKey:@"alarmTime"];
cell.textLabel.text = [NSString stringWithFormat:@"Remind At %@", tempAlarmTime];

ここで、コントローラー B でこの userdefault を設定する必要があります。この m では、これを使用します。

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

コントローラ A でこの新しい値を取得する必要がある場合、次の Null が発生します。これが発生する理由と、新しい設定値を取得するにはどうすればよいですか?

4

2 に答える 2

0

コントローラ B では、次を使用して userdefault 値を変更します

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 に答える