2010-12-04 9 views
0

folgte ich das Tutorial: http://useyourloaf.com/blog/2010/5/18/adding-a-settings-bundle-to-an-iphone-app.htmliPhone Xcode Settings.bundle Plist Hilfe

und die "Shuffle Switch" (die ich gerade erstellt basierend auf dem Tutorial) war nicht in den Einstellungen App. Jedes Mal, wenn ich einen NSLog über den Zustand des Switches machte, würde es "(null)" zurückgeben. Der "Slideshow Switch" (der auf die gleiche Weise erstellt wurde) funktionierte gut.

Meine Einstellungen bündeln Root.plist Datei sieht wie folgt aus: (Link kopieren und einfügen in Web-Browser) i.imgur.com/kb8DT.png

Bitte helfen, wie ich schaffen müssen, und einen Toggle zugreifen Der Schalter wurde in der .plist-Datei erstellt. Ich bin neu in der iPhone Programmierung.

Hier ist der Code, den ich den Benutzerpräferenzschalter eingestellt bin mit:

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

Und hier ist der Code, den ich mit dem Zustand des Benutzerpräferenz Schalter zu erhalten:

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

Ist das nicht das gleiche wie deine Frage ? – westsider

+0

@westsider: Ja, aber ich wollte eine neue Frage erstellen, da ich ein paar Dinge geändert hatte und die Frage ein bisschen anders war. – Linuxmint

+0

Sie wissen, dass Sie Ihr anderes richtig bearbeitet haben könnten? – BoltClock

Antwort

1

Es scheint, dass Sie ein String-Objekt setzen und versuchen, einen booleschen Wert zu erhalten. Sie sollten oder die Zeichenfolge raus wie

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

oder einen Booleschen Wert in erster Linie setzen wie folgt aus:

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

Dann können Sie es als abrufen

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

Vielen Dank für Ihre Antwort, aber mein Hauptproblem ist, dass "der" Shuffle Switch "(den ich gerade basierend auf dem Tutorial erstellt habe) nicht in der Einstellungs-App war." – Linuxmint