用NSUserDefaults保存和读取程序设置
2016-06-02 16:00
639 查看
NSUserDefaults:用来保存应用程序设置和属性、用户保存的数据。用户再次打开程序或开机后这些数据仍然存在。NSUserDefaults可以存储的数据类型包括:NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary。如果要存储其他类型,则需要转换为前面的类型,才能用NSUserDefaults存储。
保存数据:
[cpp] view
plain copy
-(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];
}
读取数据:
[cpp] view
plain copy
-(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
保存数据:
[cpp] view
plain copy
-(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];
}
读取数据:
[cpp] view
plain copy
-(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
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解