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 在我们编写代码中是最常用的一个永久保存数据的方法,也是最简单的。