NSUserDefaults保存或传递数据

本文探讨了Objective-C与Swift两种编程语言在iOS开发领域的应用与区别,包括其优势、使用场景及迁移策略。
-(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;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值