Ho provato a memorizzare alcune impostazioni in NSUserDefaults, ma sembra che l'app non memorizzi i valori di setBool.NSUserDefaults. setValue funziona, non setBool
Questo funziona:
[[NSUserDefaults standardUserDefaults] setValue: @"hello" forKey: @"test"]; [[NSUserDefaults standardUserDefaults] synchronize];
Quando ho terminare l'applicazione e riavviarlo, il valore sono state salvate. Tuttavia, quando faccio questo:
[[NSUserDefaults standardUserDefaults] setBool: YES forKey: @"test"]; [[NSUserDefaults standardUserDefaults] synchronize];
Non salverà dopo aver chiuso l'app e riavviarlo.
Devo presentare una segnalazione di bug o c'è qualcosa che mi manca qui?
Grazie
Edit:
ho dato quello che ho fatto di sbagliato. In AppDelegate, ho voluto verificare se il boolForKey è stato impostato, e non mi è stato fatto questo: "!"
if (![defaults boolForKey: @"test123"])
[defaults setBool: YES forKey: @"test123"];
... tuttavia, quando si tratta di boolWithKey, il basta controllare se il bool è SÌ o NO, non se è zero.
dimenticato di sincronizzare: Oo –
Poiché NO è il valore predefinito se non è stato impostato. Il codice sopra non prova nulla. Dovremmo provare con SÌ perché il test abbia senso. – Marc