现在的位置: 首页 > 综合 > 正文

用NSUserDefaults保存和读取程序设置

2013年09月15日 ⁄ 综合 ⁄ 共 1166字 ⁄ 字号 评论关闭

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];
}

读取数据:

-(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
}

转载时请注明出处:http://blog.csdn.net/ztp800201/article/details/9160667

抱歉!评论已关闭.