- 保存数据
- 使用偏好设置对数据进行保存之后, 它保存到系统的时间是不确定的,会在将来某一时间点自动将数据保存到Preferences文件夹下面,如果需要即刻将数据存储,必须使用[defaults synchronize]
- 想要实现自定义对象的存储,需要将该对象转化为NSData类型,再进行保存
- //获取NSUserDefaults对象
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- //保存数据
- [defaults setObject:@"jack" forKey:@"name"];
- [defaults setInteger:20 forKey:@"age"];
- [defaults setBool:YES forKey:@"sex"];//YES表示性别为男性
- //同步数据
- [defaults synchronize];
- 读取数据
- //获取NSUserDefaults对象
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- //读取数据(类型需要与存储时保持一致)
- NSString *name = [defaults objectForKey:@"name"];
- NSInteger age = [defaults integerForKey:@"age"];
- BOOL sex = [defaults boolForKey:@"sex"];
- 打印结果
- 删除数据
- //删除数据
- [defaults removeObjectForKey:@"sex"];
- 使用注意:偏好设置是专门用来保存应用程序的配置信息的, 一般情况不要在偏好设置中保存其他数据。如果利用系统的偏好设置来存储数据, 默认就是存储在Preferences文件夹下面的,偏好设置会将所有的数据都保存到同一个文件中。针对同一个关键字对应的对象或者数据,可以对它进行重写,重写之后关键字就对应新的对象或者数据,旧的对象或者数据会被自动清理。