У меня странный случай использования 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)>
Сэм.