J'ai une classe AppDelegate avec +(void)initialize
que j'utilise pour enregistrer certaines valeurs par défaut. Voici le code que j'utilise :
+ (void)initialize {
NSDictionary *defaults = [NSDictionary dictionaryWithObjectsAndKeys:@"NO", @"fooKey", @"YES", @"barKey", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
}
J'ai également créé Preferences.xib qui contient quelques cases à cocher ( NSButton
) qui affichent le statut des préférences. Ils sont liés à NSUserDefaultsController
avec les mêmes clés (fooKey et barKey dans ce cas). Chaque fois que je lance une application et que je modifie les "valeurs par défaut", elles sont restaurées au prochain lancement de l'application.
Existe-t-il un moyen d'enregistrer des "valeurs par défaut" sans écraser les valeurs déjà existantes ? Peut-être que chaque fois que je construis et lance une application, son fichier de préférences est recréé ? Je devrais peut-être délier les cases à cocher de NSUserDefaultsController
et maintenir moi-même les valeurs des clés avec un code personnalisé dans le contrôleur de fenêtre des préférences ?
J'aimerais connaître votre choix d'implémentation pour maintenir les valeurs par défaut des utilisateurs.
J'utilise Mac OS X 10.6.2 et XCode 3.2.1.