標籤:
ios應用資料存放區方式(喜好設定)
一、簡單介紹
很多iOS應用都支援喜好設定,比如儲存使用者名稱、密碼、字型大小等設定,iOS提供了一套標準的解決方案來為應用加入喜好設定功能
每個應用都有個NSUserDefaults執行個體,通過它來存取喜好設定。比如,儲存使用者名稱、字型大小、是否自動登入
儲存位置:
儲存形式:
二、程式碼範例
1.storyboard
2.代碼
8 9 #import "YYViewController.h"10 //喜好設定11 @interface YYViewController ()12 /**13 *儲存資料14 */15 - (IBAction)saveData:(id)sender;16 /**17 * 讀取資料18 */19 - (IBAction)readData:(id)sender;20 21 @end22 23 @implementation YYViewController24 25 - (IBAction)saveData:(id)sender {26 //1.擷取NSUserDefaults對象27 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];28 29 //2儲存資料(如果設定資料之後沒有同步, 會在將來某一時間點自動將資料儲存到Preferences檔案夾下面)30 [defaults setObject:@"yangyong" forKey:@"name"];31 [defaults setInteger:23 forKey:@"age"];32 [defaults setDouble:1.73f forKey:@"height"];33 [defaults setObject:@"man" forKey:@"gender"];34 35 //3.強制讓資料立刻儲存36 [defaults synchronize];37 }38 39 - (IBAction)readData:(id)sender {40 //1.擷取NSUserDefaults對象41 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];42 //讀取儲存的資料43 NSString *name=[defaults objectForKey:@"name"];44 NSString *gender=[defaults objectForKey:@"gender"];45 NSInteger age=[defaults integerForKey:@"age"];46 double height=[defaults doubleForKey:@"height"];47 //列印資料48 NSLog(@"name=%@,gender=%@,age=%d,height=%.1f",name,gender,age,height);49 }50 @end
3.點擊儲存資料,讀取資料按鈕列印如下
三、補充說明
1.儲存資料
//1.擷取NSUserDefaults對象 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; //2儲存資料 [defaults setObject:@"yangyong" forKey:@"name"]; [defaults setInteger:23 forKey:@"age"]; [defaults setDouble:1.73f forKey:@"height"]; [defaults setObject:@"man" forKey:@"gender"]; //3.強制讓資料立刻儲存 [defaults synchronize];
2.讀取資料
//1.擷取NSUserDefaults對象 NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; //2.讀取儲存的資料 NSString *name=[defaults objectForKey:@"name"]; NSString *gender=[defaults objectForKey:@"gender"]; NSInteger age=[defaults integerForKey:@"age"]; double height=[defaults doubleForKey:@"height"];
3.重要說明
(1)喜好設定是專門用來儲存應用程式的配置資訊的, 一般情況不要在喜好設定中儲存其他資料。如果利用系統的喜好設定來儲存資料, 預設就是儲存在Preferences檔案夾下面的,喜好設定會將所有的資料都儲存到同一個檔案中。
(2)使用喜好設定對資料進行儲存之後, 它儲存到系統的時間是不確定的,會在將來某一時間點自動將資料儲存到Preferences檔案夾下面,如果需要即刻將資料存放區,可以使用[defaults synchronize];
(3)注意點:所有的資訊都寫在一個檔案中,對比簡單的plist可以儲存和讀取基本的資料類型。
(4)步驟:擷取NSuserDefaults,儲存(讀取)資料
ios應用資料存放區方式(喜好設定)