On m'a dit que je devais utiliser le registerDefaults: pour charger le NSUserDefaults si l'utilisateur n'a jamais changé les paramètres de l'application.Comment utiliser registerDefaults: correctement, pour charger mes paramètres par défaut?
Dans mon AppDelegate je suis en utilisant le code suivant:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Load default defaults
[[NSUserDefaults standardUserDefaults] registerDefaults:[NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"Defaults" ofType:@"plist"]]];
[[NSUserDefaults standardUserDefaults] synchronize];
// Add the view controller's view to the window and display.
[window addSubview:viewController.view];
[window makeKeyAndVisible];
return YES;
}
je copiais le Root.plist de mes paramètres bundle dans le dossier de mon projet ressources et la rebaptise Defaults.plist
maintenant en la méthode viewDidLoad de mon contrôleur de vue J'utilise le code suivant pour charger les paramètres:
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
if ((([[defaults objectForKey:kToggleSwitch] isEqualToString:@"Enabled"]) ? YES : NO)) {
//Do Stuff
//BTW i'm using strings for the True/False the values of the ON/OFF positions of the UISwitch
}
Même avec faire tout cela, mes paramètres par défaut stockés dans le Root.plist de mon paquet de paramètres ne sont pas chargés. La seule façon dont ils se chargent est que l'utilisateur entre dans les paramètres de l'iPhone et consulte simplement la page des paramètres de mon application.
De toute évidence, je fais quelque chose de mal ici quelqu'un peut-il m'aider. BTW, je suis en cours d'exécution à l'aide d'iOS 4.1
ce qui est dans votre Defaults.plist fichier? – jasongregori
il devrait être un dictionnaire avec kToggleSwitch défini à ce qui est par défaut. – jasongregori