NSUserDefaults et Default Value

gilvgilv Membre

Salut,


 


J'utilise un Settings.bundle dans mon projet avec un Text Field. J'ai vu que l'on pouvait mettre une "Default Value" ce que j'ai fait mais lorsque je vais lire la valeur je récupère nil.


Dans les preference je vois bien ma valeur par défaut, je change la valeur et là  je la récupère bien.


Ma question est a quoi sert cette "Default Value" ... peut on la lire ???


 


A+


 

Réponses

  • Bonjour, 


     


    Tu dis qu'avec un NSUserDefault tu n'arrives pas à  lire ta valeur au premier lancement ou est ce que ça le fait tout le temps tant que tu n'a pas changé la valeur?


     


    Un truc du genre : 



    NSString *defaults = [[NSUserDefaults standardUserDefaults] objectForKey:@monIdentifier];

    Devrait fonctionner je m'en sers et je me souviens pas faire de manipulation particulière.


  • gilvgilv Membre

    Oui c'est bien ça j'ai toujours nil jusqu'au changement de la valeur.


     


    A+


  • En fait tu as raison j'ai fait des tests ce matin et j'avais bien fait une manip particulière pour avoir mon settings du premier coup.


     


    Y a un exemple sur ce lien


     


    http://stackoverflow.com/questions/510216/can-you-make-the-settings-in-settings-bundle-default-even-if-you-dont-open-the


     


    Si ça intéresse quelqu'un.


  • gilvgilv Membre

    Merci Nasatya ... je vais regarder ça.


     


    A+


  • AliGatorAliGator Membre, Modérateur
    Ca fait longtemps que pour ma part j'ai créé une catégorie sur NSUserDefaults qui rajoute une méthode "registerDefaults" et qui fait justement cela (parcourir le fichier Root.plist, rechercher et mémoriser les clés DefaultValue de chaque entrée, appeler récursivement la méthode pour les sous-paneaux définis par un PSChildPaneSpecifier, ...).

    Comme ça en un simple appel à  [[NSUserDefaults standardUserDefaults] registerDefaults] ça enregistre les valeurs par défaut correctement.
  • Oui en faisant les recherches j'ai vu des catégories existante sur github aussi ça parait être une bonne solution si j'en ai besoin de nouveau dans le futur je ferais comme ça.


  • gilvgilv Membre

    Merci pour vos commentaires ...


    J'ai fait une catégorie comme conseillé par AliGator et ça marche au poil


     


    A+


Connectez-vous ou Inscrivez-vous pour répondre.