2010-02-09 3 views
21

Mon application pour iPhone comporte peu de paramètres susceptibles d'être modifiés par les utilisateurs. Je voudrais savoir s'il y a une manière suggérée de manipuler de tels arrangements (les lisant et les sauvant). Sur les sites Apple, je n'ai trouvé qu'un didacticiel sur l'intégration des paramètres de votre application avec l'application Paramètres (link), mais je ne souhaite pas qu'un utilisateur quitte mon application pour qu'il puisse simplement modifier l'option.Enregistrement des paramètres de l'application iPhone dans l'application

Existe-t-il un mécanisme par défaut pour gérer ces paramètres dans l'application elle-même ou dois-je implémenter une solution de mon propre chef?

Répondre

43

Le meilleur et le plus simple pour stocker des paramètres dans l'iPhone est à travers NSUserDefaults. Vous empêche d'avoir à traiter avec le système de fichiers ou les plistes ou tout autre chose.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

NSString *storedVal = @"This is what you want to save"; 
NSString *key = @"storedVal"; // the key for the data 

[defaults setObject:storedVal forKey:key]; 
[defaults synchronize]; // this method is optional 


// Get the results out 
NSString *results = [defaults stringForKey:key]; 

Voici ce que dit Apple sur les types d'objets que vous pouvez stocker dans les paramètres par défaut

Un objet par défaut doit être une liste propriété , qui est une instance de (ou pour collections une combinaison d'instances de): NSData, NSString, NSNumber, NSDate, NSArray ou NSDictionary. Si vous souhaitez stocker tout autre type d'objet , vous devez généralement l'archiver pour créer une instance de NSData.

Il existe d'autres restrictions, comme si vous stockez un NSDictionary, les valeurs de clé doivent être des chaînes.

+2

Est-il possible de stocker des valeurs de types autres que 'NSString' comme des chiffres ou des dates? – RaYell

+0

yup, j'ai mis à jour ma réponse – kubi

+0

Merci mon pote, c'est le genre de réponse que je voulais entendre. – RaYell

0

Lisez le File and Networking Guide à partir de l'iPhone Developer Connection. Il explique comment obtenir le chemin pour les différents emplacements prédéfinis dans le sandbox de l'application. Je vous recommande d'utiliser un NSDictionary pour stocker vos préférences qui peuvent facilement être enregistrées dans le système de fichiers et converties en plist.

4

Si vous êtes à la recherche d'une interface utilisateur pour modifier les paramètres à l'intérieur de l'application, consultez InAppSettingsKit à http://www.inappsettingskit.com

Questions connexes