2010-09-16 7 views
2

L'ensemble de paramètres est censé être une chose plutôt simple, mais pour une raison quelconque, je n'arrive pas à le faire fonctionner. Dans mes paramètres Root.plist, j'utilise un PSToggleSwitchSpecifier et un PSTextFieldSpecifier Les deux ont Type, Title, Key et DefaultValue. Et il apparaît correctement lorsque vous le regardez dans les paramètres sur l'iPod Touch (et le simulateur). Mais je ne peux pas récupérer les valeurs. Ils reviennent juste NULL.NSUserDefaults - obtention de null pour toutes les valeurs

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
self.websiteURL = [defaults stringForKey:@"myBaseURL"]; 

La seule façon que je reçois pour montrer une valeur si je vais dans les paramètres et changer les valeurs à autre chose que la valeur par défaut. Puis, quand je reviens à l'application et ça va fonctionner correctement. Comment puis-je le configurer de sorte qu'il ne nécessite pas d'ouvrir les paramètres du tout?

Répondre

4

Essayez this.

Renvoyer nil pour un utilisateur par défaut jusqu'à ce que l'utilisateur définisse son comportement par défaut, je pense. Vous aurez besoin de [defaults registerDefaults:]; pour obtenir une valeur "par défaut" pour apparaître.

+0

Cela me semble très stupide, mais hélas c'est la façon dont Apple a mis les choses en place. Merci de m'avoir indiqué la bonne direction. http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/UserDefaults/Tasks/UsingDefaults.html%23//apple_ref/doc/uid/20000719-BAJFBAAH – RyanJM

0

vous pouvez ajouter une clé de DefaultValue à votre plist pour la touche désirée et réglez-le sur ce que vous voulez (tant qu'il est conforme au type spécifié pour la clé)

+0

C'est la chose étrange, j'ai un DefaultValue sur les deux. – RyanJM

+0

oh je suis désolé je dois avoir effleuré cette partie de la question ici. voir @stephens répondre :) –

1

Si quelqu'un est à la recherche d'une solution pour enregistrer les paramètres utilisateur par défaut, vous pouvez le vérifier sur here, a très bien fonctionné pour moi.

+0

a vraiment fonctionné pour moi! Merci beaucoup. – Samblg

Questions connexes