4 votes

Paramètres dynamiques de l'application

J'ai une application où l'emplacement est important. Actuellement, j'ai un paramètre à valeurs multiples dans le bundle de paramètres où j'ai défini 5 emplacements. Le problème avec cette approche est que le bundle de paramètres est statique - c'est-à-dire que je ne peux pas le mettre à jour à partir d'une liste JSON sur mon serveur autant que je sache.

Je veux mettre à jour la liste des emplacements à partir d'une liste dynamique sur le serveur.

J'ai regardé InAppSettingsKit mais cela utilise également les bundles de paramètres standard. Est-il possible d'utiliser InAppSettingsKit pour importer les mises à jour des paramètres dynamiquement à partir d'une liste distante.

Y a-t-il d'autres moyens de faire ce que j'essaie de faire?

3voto

Ortwin Gentz Points 15102

Vous ne pourrez pas changer la liste de manière dynamique en ce qui concerne Settings.app. Settings.app utilise toujours le schéma plist statique de votre bundle d'application. (Vous pourriez recourir à un champ de texte libre mais cela ne correspond probablement pas à votre cas.)

Avec InAppSettingsKit, vous pouvez y parvenir mais vous devez faire un travail supplémentaire : pour les parties dynamiques, vous voudrez utiliser un contrôleur de vue personnalisé, par exemple un contrôleur de table view.

-1voto

Praveen Kumar Points 124

La meilleure façon pour vous de gérer cela est de stocker les valeurs multiples dans NSUserDefaults et de commencer à les utiliser. Grâce à cette méthode, vous pourrez mettre à jour les valeurs et elles persisteront à travers plusieurs sessions.

Modifier (commentaire de réponse) :

Enregistrez-le dans les paramètres de l'utilisateur.

NSDictionary *appDefaults =  [NSDictionary dictionaryWithObjectsAndKeys:
                              @"votre objet", "Votre clé"
                              nil];

[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
[[NSUserDefaults standardUserDefaults] synchronize];

Récupération :

[[NSUserDefaults standardUserDefaults] integerForKey:@"Votre clé"];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X