Uso le impostazioni NSUserDefaults nelle mie impostazioni. L'app funziona bene anche se premo il tasto home e lo faccio in background, ma se uccido l'app, i dati salvati in NSUserDefaults andranno persi. Ecco il mio codice. Ho usato sincronizzare. La prima inizializzazione:Dati persi dopo l'uccisione dell'app utilizzando NSUserDefaults
if (![userDefaults integerForKey:
kORFootageAirPlayModeKey])
{
[userDefaults setInteger:TRUE forKey:kORFootageAirPlayModeKey];
}
[userDefaults synchronize];
Leggi valore in un viewController:
airPlayMode = [[NSUserDefaults standardUserDefaults]integerForKey:kORFootageAirPlayModeKey];
Situato in un'azione:
- (IBAction)changeAirPlayStatus:(id)sender
{
if (sender)
{
airPlayMode = [sender tag];
[[NSUserDefaults standardUserDefaults] setInteger:airPlayMode forKey:kORFootageAirPlayModeKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
.....
}
Dopo aver modificato setInteger per impostareBOOL, tutto diventa corretto. Quindi la conversione forzata fa impazzire ios. E la posizione del file plist sotto:/Users/apple/Library/Application Support/iPhone Simulator/5.1/Applications/xxxx-xxxxx-xxxxx/Library/Preferences/com.yourappname.plist –