Xcode NSUserDefaultValues ​​- возвращено неверное значение - PullRequest
0 голосов
/ 12 июня 2011

У меня странный случай использования NSUserDefaults. Я устанавливаю значения в одном классе, а извлекаю их в другом.

Когда я получаю, в приложение возвращается ноль, и это звучало подозрительно.

Кто-нибудь сталкивался с этим? Какое решение?

NSUserDefaults *appPreferences = [NSUserDefaults standardUserDefaults];

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:kFormattedDateStr];
NSLog(@"%@", [appPreferences dictionaryRepresentation]);
NSLog(@"startDateString =<%@>", [appPreferences stringForKey:kStartDateKey]);
NSLog(@"targetDateString=<%@>", [appPreferences stringForKey:kTargetDateKey]);
NSDate *targetDate = [df dateFromString:[appPreferences stringForKey:kTargetDateKey]];
[df release], df = nil;

Я дважды проверил, что сохраняю извлечение значений с одним и тем же ключом. Может ли это быть потому, что я сохраняю значение как «objectForKey» и извлекаю его как «stringForKey» ??

Итак, я сбросил NSUserDefaults - и он показывает значения, которые я установил. Я не понимаю, почему код должен возвращать ноль!

    WebKitWebArchiveDebugModeEnabledPreferenceKey = 0;
    WebKitWebGLEnabled = 0;
    WebKitWebSecurityEnabled = 1;
    WebKitXSSAuditorEnabled = 1;
    WebKitZoomsTextOnly = 1;
    notificationKey = 0;
    selectedGoalKey = "New Goal";
    startDateKey = "2011-06-12 15:00:51 +0000";
    targetDateKey = "2011-06-13 15:00:51 +0000";
}
2011-06-12 07:22:14.634 GoalBuggerPro[10304:207] startDateString =<(null)>
2011-06-12 07:22:20.886 GoalBuggerPro[10304:207] targetDateString=<(null)>

Сэм.

1 Ответ

1 голос
/ 13 июня 2011

Проблема была в том, о чем я думал .....

Я сохранял значение как объект и извлекал его как строку.

После изменения кода для использования "objectForKey", правильное значение было доступно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...