Używam NSUserDefaults w moim ustawieniu. Aplikacja działa dobrze, nawet jeśli włączyłem aplikację do kluczy w domu, ale jeśli zabiję aplikację, zapis danych w NSUserDefaults zostanie utracony. Oto mój kod. Używam synchronizacji. Pierwszy initialize:Zapisane dane utracone po aplikacji zabicia przy użyciu NSUserDefaults
if (![userDefaults integerForKey:
kORFootageAirPlayModeKey])
{
[userDefaults setInteger:TRUE forKey:kORFootageAirPlayModeKey];
}
[userDefaults synchronize];
odczytać wartość się w viewController:
airPlayMode = [[NSUserDefaults standardUserDefaults]integerForKey:kORFootageAirPlayModeKey];
Ustaw go w akcji:
- (IBAction)changeAirPlayStatus:(id)sender
{
if (sender)
{
airPlayMode = [sender tag];
[[NSUserDefaults standardUserDefaults] setInteger:airPlayMode forKey:kORFootageAirPlayModeKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
.....
}
Po zmianie setInteger na setBOOL wszystko jest w porządku. Więc siła skonwertuj niech ios zwariuje. I położenie pliku plist w:/Users/apple/Library/Application Support/iPhone Simulator/5.1/Applications/xxxx-xxxxx-xxxxx/Library/Preferences/com.yourappname.plist –