Variable set globale
Bonjour,
Je voudrais creer plusieurs variable qui un son accessible n'importe ou dans l'application et de deux qui ne s'efface pas une fois que l'application soit arrete en faite je veut quelle garde leur valeur jusca la prochaine execution de l'application (c'est pour stocker des nom de user et des mot de passe je ne peut donc les metre dans une BDD) ?
PS: Merci en tous cas pour vos précédente réponse sur mes autre sujet elle mon beaucoup aidée
Cordialement bonne journée
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est justement pour sécuriser que je ne veut pas les metre dans une BDD mais dans une variable qu'un n'est pas accesible de l'extérieur de l'appli et qui ne s'efface pas quand je ferme cette dernière j'ai travailler sous appcelerator Titanium et sous Titanium on les déclarais de cette façon
Titanium.App.Properties.getString('userName');
Elle n'etait ni dans une BDD ni dans un fichier sur l'idevice le truc c'est que je sait pas comment les creer sous xcode
5min apres
PS: je croit que j'ai trouver "@property (retain) NSString *username;"
j'arrive pas a la rendre global sur toute l'appli
Les globals ne sont pas une bonne idée.
Mieux faire un Singleton.
Ou utiliser NSUserDefaults qui est déjà un Singleton
Ou, afin que les settings soient bien sécurisés, utilises le Keychain https://developer.apple.com/library/mac/documentation/security/conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html
Un singleton n'évite pas les états globaux, au contraire il contribue largement pour ça. Il faut utiliser les singleton avec modération
en faite les j'ai besoin de faire un truc rapido pour quelle soit fonctionnel ensuite je vais faire un truc propre
Dans ce cas les NSUserDefaults (+ Keychain) parce que les variables globales c'est vraiment pas une bonne idée ni une bonne pratique.
Très mauvaise idée ! >:D
Pourquoi ne pas faire propre du premier coup. Le temps que tu vas perdre à apprendre à faire çà propre du premier coup, tu le retrouveras largement après ! C'est toujours pénible de reprendre un code "plus tard"...
Sinon, j'ai l'impression que ce que tu veux faire ressemble un peu à ce post.
Pour des données à sécuriser type mot de passe, y'a même pas à se poser la question, y'a même pas débat.
On en a déjà parlé plein de fois sur le forum. Y'a plein de code qui traine sur le net, y'a plein de pods / composants tout faits pour faciliter encore plus l'utilisation et pouvoir stocker une donnée dans la Keychain en 2-3 lignes de code, tu as tout ce qu'il te faut à portée de main.