Préférences par défaut

Dans votre projet, créez un fichier de ressources avec le nom du fichier de préférences que vous avez défini dans les infos de votre projet ("Get Info" de votre "Target", onglet "Properties", zone "Identifier") :

Pasted Graphic

Vous retrouvez cette valeur dans la ressource info.plist sous la clé "CFBundleIdentifier" :

    <key>CFBundleIdentifier</key>
    <string>com.demoBind</string>


Dans cet exemple, le fichier de préférences aura le nom "com.demoBind.plist".

Dans la méthode init de votre module de classe contrôleur, insérez les lignes suivantes :

    NSString *userDefaultsValuesPath;
    NSDictionary *userDefaultsValuesDict;
    // Chemin d'accès au fichier de préférences par défaut en ressources
    userDefaultsValuesPath=[[NSBundle mainBundle] pathForResource:[[NSBundle mainBundle] bundleIdentifier] ofType:@"plist"];
    // Chargement des valeurs par défaut dans un dictionnaire
    userDefaultsValuesDict=[NSDictionary dictionaryWithContentsOfFile:userDefaultsValuesPath];
    // Enregistrement des valeurs par défaut comme préférences
    [[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsValuesDict];
    // et comme valeurs dite "usine"
    [[NSUserDefaultsController sharedUserDefaultsController] setInitialValues:userDefaultsValuesDict];


A tout moment, vous pouvez ré-initaliser vos préférences aux valeurs "usine" :

    [[NSUserDefaultsController sharedUserDefaultsController] revertToInitialValues : self];