NSUserDefaults. setValue fonctionne, Pas setBool

J'ai essayer de stocker certains paramètres dans NSUserDefaults, mais Il semble que l'application ne stocke pas le setBool valeurs.

Cela fonctionne:

[[NSUserDefaults standardUserDefaults] setValue: @"hello" forKey: @"test"];
[[NSUserDefaults standardUserDefaults] synchronize];

Quand j'ai quitter l'application et de la relancer, la valeur ont été enregistrées. Cependant, quand je fais ceci:

[[NSUserDefaults standardUserDefaults] setBool: YES forKey: @"test"];
[[NSUserDefaults standardUserDefaults] synchronize];

Il ne sera pas sauvegardé après je ferme l'application et la redémarrer.

Dois-je soumettre un rapport de bug, ou est-il quelque chose qui me manque ici?

Grâce

Edit:

Je me figure ce que j'ai fait de mal. Dans AppDelegate, je voulais vérifier si le boolForKey a été définie, et il n'a pas je l'ai fait:

if (![defaults boolForKey: @"test123"])
[defaults setBool: YES forKey: @"test123"];

... cependant, quand il s'agit de boolWithKey, le "!" il suffit de vérifier si le booléen est OUI ou non, si son néant.

OriginalL'auteur BlackMouse | 2012-03-06