IOS数据存储NSUserDefaults的用法(轻量级本地数据存储) (转)

NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.

将NSString 对象存储到 NSUserDefaults 中
NSString *passWord = @"123456";
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
[user setObject:passWord forKey:@"userPassWord"];

将数据取出很简单,只需要取出key 对应的值就好了,代码如下:
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
NSString *passWord = [ user objectForKey:@"userPassWord"];


注意:NSUserDefaults 存储的对象全是不可变的,因此要像下面一样操作
    NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:@"123",@"234", nil];
    NSArray * array = [NSArray arrayWithArray:mutableArray];
    NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
    [user setObject:array forKey:@"记住存放的一定是不可变的"];

    正确的取出赋值方法:
    NSUserDefaults *user = [NSUserDefaults standardUserDefaults];

    NSMutableArray *mutableArray = [NSMutableArray arrayWithArray:[user objectForKey:@"记住存放的一定是不可变的"]];


NSUserDefaults 存储自定义对象:
1、将自定义类型转换为NSData类型
这里要实现 在.h 文件中申明 NSCoding 协议,再 在 .m 中实现 encodeWithCoder方法和initWithCoder 方法就可以了 :
2、将自定义类型数据存入 NSUserDefaults 中
NSUserDefaults 在我们编写代码中是最常用的一个永久保存数据的方法,也是最简单的。




你可能感兴趣的:(IOS数据存储NSUserDefaults的用法(轻量级本地数据存储) (转))