2010-12-04 6 views
0

J'ai suivi le tutoriel: http://useyourloaf.com/blog/2010/5/18/adding-a-settings-bundle-to-an-iphone-app.htmliPhone Xcode Settings.bundle Plist Aide

Et le « Shuffle Switch » (que je viens de créer sur la base du tutoriel) n'a pas été dans l'application Réglages. Chaque fois que je faisais un NSLog sur l'état du switch, il renvoyait "(null)". Le "Diaporama" (qui a été créé de la même manière) a bien fonctionné.

Mes paramètres bundle fichier Root.plist se présente comme suit: (lien copier et coller dans le navigateur Web) i.imgur.com/kb8DT.png

S'il vous plaît aider comme je l'ai besoin de créer et d'accéder à une bascule Commutateur créé dans le fichier .plist Je suis nouveau à la programmation iPhone.

Voici le code que je utilise pour régler le commutateur de préférences de l'utilisateur:

// Set the application defaults 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"ShuffleToggleKey"]; 
[defaults registerDefaults:appDefaults]; 
[defaults synchronize]; 

Et voici le code que je utilise pour obtenir l'état du commutateur de préférences de l'utilisateur:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
BOOL enabled = [defaults boolForKey:@"ShuffleToggleKey"]; 
+0

est-ce pas C'est la même chose que votre question ? – westsider

+0

@westsider: Oui, mais je voulais créer une nouvelle question car j'avais changé quelques choses et la question était légèrement différente. – Linuxmint

+0

Vous savez que vous auriez pu * éditer * votre autre droit? – BoltClock

Répondre

1

Il semble que vous mettez un objet chaîne et que vous essayez d'obtenir une valeur booléenne. Vous devriez ou sortir la chaîne comme

NSString *enabledStr = [defaults stringForKey:@"ShuffleToggleKey"]; 
BOOL enabled = [enabledStr boolValue]; 

ou mettre une valeur booléenne en premier lieu comme ça:

[defaults setBool:YES forKey:@"ShuffleToggleKey"]; 

Ensuite, vous pouvez le récupérer comme

BOOL enabled = [defaults boolForKey:@"ShuffleToggleKey"]; 
+0

Merci pour votre réponse, mais mon problème principal est que "le" Shuffle Switch "(que je viens de créer sur la base du tutoriel) n'était pas dans l'application Paramètres." – Linuxmint