http://gibuloto.com/blog/nsuserdefaults/
重點是
在設定完之後記得要
[[NSUserDefaults standardUserDefaults] synchronize];
NSUserDefaults 可以用來儲存使用者的偏好設定(它會被存成一個 .plist 檔案),你可以把它想成是 iOS app 的 localStorage,而且 NSUserDefaults 不只可以儲存字串,還可以儲存任何 Objective-C data type。
使用方法
// 你得先宣告一個 NSUserDefaults 物件,在同一個 app 裡,它是 singleton(單例)
NSUserDefaults *userPrefs = [NSUserDefaults standardUserDefaults];
// set
[userPrefs setObject:@"a123456789" forKey:@"userID"];
[userPrefs setInteger:24 forKey:@"age"];
[userPrefs setBool:YES forKey:@"isLogin"];
// remove
[userPrefs removeObjectForKey:@"debts"];
[userPrefs synchronize];
// get
NSString *userID = [userPrefs stringForKey:@"userID"];
BOOL isLogin = [userPrefs boolForKey:@"isLogin"];
要注意的是,set 或 remove 之後,記得執行 [userPrefs synchronize],已確保資料被寫入硬碟裡。再保險一點,你還可以:
- (void)applicationWillEnterForeground:(UIApplication *)application
{
/*
Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
*/
[[NSUserDefaults standardUserDefaults] synchronize];
}
沒有留言:
張貼留言