NSUserDefaults適合存儲輕量級本地數據,比如要保存用戶登陸的用戶名、密碼,使用NSUserDefaults是首選。下次再登陸的時候就可以直接從NSUserDefaults裏面讀取上次登陸的信息。
NSUserDefaults支持的數據格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL類型。
NSUserDefaults,讀取方便,容易。
存儲字典類型的數據:
取得userDefaults,登錄到Dictionary:
//通過類方法獲取它的單例
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];//取得
NSMutableDictionary *mDic= [NSMutableDictionary dictionary];
初始化key和value,然後登記到Dictionary裏:
[defaults setObject: @"99" forKey:@"KEY_I"]; // key的初始值是99
[defaults setObject:@"hello" forKey:@"KEY_H"]; //key的初始值是hello
[ud registerDefaults:mDic]; // *只會登記不存在的key的值
設定key和value,保存並更新:
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; //取得
[ud setFloat:1.23 forKey:@"KEY_F"]; //保存
[ud setObject:@"你好" forKey:@"KEY_S"]; //保存
[ud synchronize]; // *不存在的key新規,已存在的key更新其值
取得信息:
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; //取得
float f = [ud floatForKey:@"KEY_F"];
NSString s = [ud stringForKey:@"KEY_S"];
刪除信息:
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; //取得
[ud removeObjectForKey:@"KEY_I"];
其他類型存儲方式與其不同的是:
[userDefaults setInteger:myInteger forKey:@"myInteger"];
[userDefaults setFloat:myFloat forKey:@"myFloat"];
[userDefaults setDouble:myDouble forKey:@"myDouble"];
//
[userDefaults setObject:myString forKey:@"myString"];
[userDefaults setObject:myDate forKey:@"myDate"];
[userDefaults setObject:myArray forKey:@"myArray"];
[userDefaults setObject:myDictionary forKey:@"myDictionary"];
ps:網上寫得很多對於我這樣的初學者來說太過複雜,所以自己就試着通過自己的理解寫了一個簡單易懂的~~0(^__^)0
希望對於和我一樣的初學者吧\有幫助