IOS学习之——用NSUserDefaults保存和读取程序设置
来源:互联网 发布:中国未来人口 知乎 编辑:程序博客网 时间:2024/06/06 20:21
NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。
保存数据:
- -(void)saveSetting {
- NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- //save string
- NSString* saveString = @"simon";
- [defaults setObject:saveString forKey:@"name"];
- //save integer
- NSInteger saveInt = 100;
- [defaults setInteger: saveInt forKey:@"count"];
- //save bool
- BOOL saveBool = YES;
- [defaults setBool: saveBool forKey:@"flag"];
- //save image
- UIImage *image=[[UIImage alloc]initWithContentsOfFile:@"photo.jpg"];
- NSData *imageData = UIImageJPEGRepresentation(image, 100);//UIImage对象转换成NSData
- [defaults setObject:imageData forKey:@"image"];
- //用synchronize方法把数据持久化到standardUserDefaults数据库
- [defaults synchronize];
- }
然后便可以在程序的任何地方读取这些数据了。 要注意的是NSUserDefault存储的都是不可变(immutable)的数据,就算是将NSMutableArray存到NSUserDefault,读取出来之后还是会变成NSArray类型的。
- -(void)getSetting {
- NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
- //根据键值取出name
- NSString *name = [defaults objectForKey:@"name"];
- NSInteger count = [defaults objectForKey:@"count"];
- BOOL bflag = [defaults objectForKey:@"flag"];
- NSData *imageData = [defaults dataForKey:@"image"];
- UIImage *Image = [UIImage imageWithData:imageData];//NSData转换为UIImage
- }
0 0
- IOS学习之——用NSUserDefaults保存和读取程序设置
- 用NSUserDefaults保存和读取程序设置
- 用NSUserDefaults保存和读取程序设置
- iOS学习之—— NSUserDefaults
- [IOS]NSUserDefaults读取和写入
- iOS使用NSUserDefaults保存用户名和密码
- iOS保存数据——NSUserDefaults的用法(2)
- iOS编程——NSUserDefaults来保存自定义Object
- ios NSUserDefaults读取和写入自定义对象
- iOS开发之数据持久—NSUserDefaults
- iOS 用NSUserDefaults保存对象的方法
- iOS学习笔记-033.数据的读取——NSString和UIImage的保存
- iOS—keychain,NSUserDefaults
- IOS学习之——设置不允许程序后台运行
- ios开发系列之文件的写入读取,NSUserDefaults存储数据,NSFileManager操作文件和文件夹
- NSUserDefaults—ios应用数据存储方式(偏好设置)
- iOS 数据持久化之NSUserDefaults-保存Settings
- IOS学习之NSUserDefaults的一些用法
- 对Adobe Photoshop CS中的混合模式理解
- TestNG 学习总结 - 参数化测试(十二)
- 第8周项目1
- 第一篇文章 用来测试
- 计算机大端模式和小端模式 内存对齐问题(sizeof)[密码学哈希密码部分参考]
- IOS学习之——用NSUserDefaults保存和读取程序设置
- 1到n的和、阶乘以及阶乘的和
- 项目3-指向学生类的指针
- How to save a gecko from gluing disaster
- hibernate基于主键的双向多对多的关联映射
- 面向对象编程
- Unity IOC注入详细配置(MVC,WebApi)
- FastICA opencv 实现版
- 济南的春天