搜索
您的当前位置:首页正文

iOS NSUserDefaults 存储(一)

来源:二三娱乐

1.NSUserDefaults 介绍

  • 作用就是数据持久化,NSUserDefaults 数据存放在沙盒 Library/Preferences/ 目录下 的 .plist文件
  • 是一个单例,整个程序只有一个实例对象,主要面向的是一些简单数据类型,如:NSNumber、NSString、NSArray、NSDictionary NSDate...

EG:简单使用

存:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *password = @"123456";
[defaults setObject:password forKey:@"userPassword"];

取:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *password = [defaults objectForKey:@"userPassword"];

删除:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults removeObjectForKey:@"userPassword"];

2.使用注意

  • NSUserDefaults存储的对象最好不可变的,想存可变的也可以,那你很6哦,随便你。
  • 对于可变数组和字典 存的时候转为不可变的再存。
  • 取的时候用可变的数组或者字典接收

以数组为例:字典同理

存:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *mutableArr = [NSMutableArray arrayWithObjects:@"1",@"2",@"3", nil];
NSArray *arr = [NSArray arrayWithArray:mutableArr];
[defaults setObject:arr forKey:@"mutableArr"];//这里最好存放不可变的(arr

取:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *mutableArr = [NSMutableArray arrayWithArray:[defaults objectForKey:@"mutableArr"]];
Top