我在我的設置中使用NSUserDefaults。應用程序運行良好,即使我按Home鍵讓應用程序進入後臺,但如果我殺了應用程序,保存在NSUserDefaults中的數據將丟失。這是我的代碼。我有使用同步。 將首先初始化:使用NSUserDefaults殺死應用程序後保存的數據丟失
if (![userDefaults integerForKey:
kORFootageAirPlayModeKey])
{
[userDefaults setInteger:TRUE forKey:kORFootageAirPlayModeKey];
}
[userDefaults synchronize];
中的viewController
讀值了:
airPlayMode = [[NSUserDefaults standardUserDefaults]integerForKey:kORFootageAirPlayModeKey];
設置它在行動:
- (IBAction)changeAirPlayStatus:(id)sender
{
if (sender)
{
airPlayMode = [sender tag];
[[NSUserDefaults standardUserDefaults] setInteger:airPlayMode forKey:kORFootageAirPlayModeKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
.....
}
將setInteger更改爲setBOOL後,所有內容都正確無誤。所以強制轉換讓ios瘋狂。 plist文件的位置在/ Users/apple/Library/Application Support/iPhone Simulator/5.1/Applications/xxxx-xxxxx-xxxxx/Library/Preferences/com.yourappname.plist下 – 2012-07-17 02:46:46