-(void)viewDidLoad{
//NSUserDefault可以保存数据到内存中,通过-(BOOL) synchronize可以保存到IOS设备的存储器中
//创建NSUserDefaults
NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];
//保存NSString
[userDef setObject: @"test1" forKey:"tt"];
//保存UIImage
UIImage *image = [UIImage imageNamed:@"tupian.png"];
//转换为NSData对象
NSData *imageData = UIImageJPEGRepresentation(image, 1);
//UIImageJPEGRepresentation(第一个参数是UIImage对象,第二个参数是表示最大压缩比例)1表示不压缩,0表示最大压缩。
[userDef setObject:imageData forKey:@"image"];
}
//方法如下:
-(void)setFloat:(float)forKey:(NSString *)defaultName;
-(void)setBool:(BOOL)forKey:(NSString *)defaultName;
-(void)setInteger:(NSInteger)forKey:(NSString *)defaultName;
-(void)setObject:(id)forKey:(NSString *)defaultName;
-(void)setDouble:(double)forKey:(NSString *)defaultName;
-(void)setURL:(NSURL *)forKey:(NSString *)defaultName;
//其中setObject中的id只支持
//NSData NSString NSNumber NSArray NSDictionary;NSArray 和NSDictionary 中也只能包含这几种类型
-(void)viewDidLoad{
//获取
NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];
NSString *string = [userDef stringForKey: @"tt"];
NSData *data = [userDef dataForKey:@"image"];
UIImage *image = [UIImage imageWithData:data];
}
//所有获取的方法如下:
-(NSInteger)integerForKey:(NSString *)defaultName;
-(BOOL)boolForKey:(NSString *)defaultName;
-(float)floatForKey:(NSString *)defaultName;
-(double)doubleForKey:(NSString *)defaultName;
-(NSData *)dataForKey:(NSString *)defaultName;
-(NSArray *)stringArrayForKey:(NSString *)defaultName;
-(NSURL *)URLForKey:(NSString *)defaultName;
-(NSString *)stringForKey:(NSString *)defaultName;
-(NSDictionary *)dictionaryForKey:(NSString *)defaultName;
-(id)objectForKey:(NSString *)defaultName;
-(NSArray *)arrayForKey:(NSString *)defaultName;
NSUserDefaults保存或传递数据
最新推荐文章于 2023-05-16 21:17:49 发布