Estoy tratando de almacenar algunas configuraciones en NSUserDefaults, pero parece que la aplicación no almacenará los valores de setBool.NSUserDefaults. setValue funciona, no setBool
Esto funciona:
[[NSUserDefaults standardUserDefaults] setValue: @"hello" forKey: @"test"]; [[NSUserDefaults standardUserDefaults] synchronize];
Cuando finalice la aplicación y reiniciarla, el valor se han salvado. Sin embargo, cuando hago esto:
[[NSUserDefaults standardUserDefaults] setBool: YES forKey: @"test"]; [[NSUserDefaults standardUserDefaults] synchronize];
No se guardará después de cerrar la aplicación y reiniciarla.
¿Debo presentar un informe de error o me falta algo aquí?
Gracias
Editar:
me imagino lo que hice mal. En AppDelegate, quería comprobar si se ajusta el boolForKey, y que no era lo hice: "!"
if (![defaults boolForKey: @"test123"])
[defaults setBool: YES forKey: @"test123"];
... Sin embargo, cuando se trata de boolWithKey, la simplemente verifique si el bool es SÍ o NO, no si es nulo.
se olvidó de sincronizar: Oo –
Puesto que el NO es el valor por defecto si no se ha establecido su. El código anterior no prueba nada. Tendríamos que probarlo con SÍ para que la prueba tenga sentido. – Marc