enregistrer des parametres dans un plist
alain.lc
Membre
Bonjour,
je cherche à enregistrer les parametres defini par l'utilisateur dans un fichier (plist ?) de façon à pouvoir les recharger lors du prochain lancement de mon application.
je sait comment faire pour utilser setting.bundle mais dans le cas present je ne veut pas que mes preferences soit modifiable depuis l'icone "reglages" de l'iphone mais uniquement depuis l'onglet dedié de mon appli.
alors, question : comment sauvegarder les preferences sans que celles-ci soient visible dans "reglages" (qui impose l'arret et la relance de mon appli pour modifier les parametres)
merci pour votre aide
je cherche à enregistrer les parametres defini par l'utilisateur dans un fichier (plist ?) de façon à pouvoir les recharger lors du prochain lancement de mon application.
je sait comment faire pour utilser setting.bundle mais dans le cas present je ne veut pas que mes preferences soit modifiable depuis l'icone "reglages" de l'iphone mais uniquement depuis l'onglet dedié de mon appli.
alors, question : comment sauvegarder les preferences sans que celles-ci soient visible dans "reglages" (qui impose l'arret et la relance de mon appli pour modifier les parametres)
merci pour votre aide
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il te suffit d'utiliser NSUserDefaults qui englobe les préférences de ton application.
Comment on l'utilise ? :
Si tu veux y rentrer une valeur, par exemple une valeur Booléenne :
Si tu veux charger la valeur d'une préférence et l'assigner à un bouton :
J'espère que tu auras compris
L'idéal est de charger toutes les préférences dans le awakeFromNib (ou une méthode delegate lors du chargement une UIWindow ou autre..). Quand je dis "charger", je veux dire par là assigner telles ou telles valeurs à tels ou tels objets (comme le dernier morceau de code que je t'ai écris)
Le NSUserDefaults est en fait sauvegardé lorsque ton application quitte (ou avant qu'elle ne plante il me semble aussi). Donc tu n'as pas à t'occuper de faire un enregistrement puisque NSUserDefaults se charge de tout comme un grand. Tout ce que tu as à faire c'est lui assigner des valeurs pour les clés que tu veux.
Le fichier correspondant pourra être placé à ta convenance comme par exemple dans le bundle de ton appli.
et sa fonctionne, j'arrive à lire et enregistrer mes preferences et elles ne sont pas visible dans réglages
longue vie à ce forum
Je ne connais pas la prog sous iPhone, mais il est presque certain que modifier le bundle de l'appli est la pire chose à faire. En effet, selon le niveau de droit de l'utilisateur, il se peut que modifier le contenu du bundle soit, tout simplement, impossible.
Par contre, une question me titille : sous iPhone, comment est ce qu'un plist de préférence d'une appli peut-il être directement exploitable par les réglages iPhone ?
Il est vrai que les privilèges s'appliquent également aux applications !
Il est également vrai que les privilèges sur les applications sont généralement en lecture/écriture pour le système ainsi que l'administrateur (root). Elles sont en lecture seule pour les autres cas. Il s'agit des paramètres par défaut. Par défaut, l'utilisateur est root.
C'est dans ce contexte que j'avais proposé l'installation des préférences dans le bundle.
Cette méthode a tout-de-même un intérêt appréciable; lorsque l'on ouvre une copie de l'application (placée sur un autre support), les préférences sont conservées.
Il y a toujours une contrepartie !
Moi aussi, une question me titille, combien de machines sont configurées autrement que le paramétrage par défaut ?