2011-06-12 3 views
0

J'ai un cas étrange d'utilisation de NSUserDefaults. Je place les valeurs dans une classe et les récupère dans une autre.Xcode NSUserDefaultValues ​​- valeur incorrecte retournée

Lorsque je récupère, 'nil' est renvoyé à l'application - et cela semble suspect.

Quelqu'un a-t-il rencontré ce problème? Quelle est la solution? J'ai vérifié par deux fois que j'économise et récupère les valeurs w/la même clé. Peut-il être parce que je sauve la valeur comme "objectForKey" et le récupère comme "stringForKey" ?? Donc, j'ai jeté le NSUserDefaults - et il montre les valeurs que j'ai définies. Je suis confus quant à la raison pour laquelle le code reviendrait nul!

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)> 

Sam.

+0

Essayez d'appeler '- [NSUserDefaults synchronize]' juste après avoir stocké vos valeurs. – Joost

+0

Désolé. Où définissez-vous la valeur aux valeurs par défaut de l'utilisateur? – EmptyStack

+0

Ils sont définis par deux méthodes distinctes dans une classe différente. 'code' \t NSDate * selected = [[self myDatePicker] date]; \t [appPreferences setObject: selected forKey: kStartDateKey]; [AppPreferences synchronize]; 'code' <<<< Ceci est un fragment de code. L'autre est similaire – Sam

Répondre

1

Le problème est ce que je pensais .....

je stocker la valeur comme un objet et le récupérer sous forme de chaîne. Après avoir changé le code pour utiliser "objectForKey", la valeur de droite était accessible.

Questions connexes