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
希望对于和我一样的初学者吧\有帮助