博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比
阅读量:6258 次
发布时间:2019-06-22

本文共 1991 字,大约阅读时间需要 6 分钟。

以下内容为原创,欢迎转载,转载请注明

来自天天博客:

有Android开发经验的朋友对SharedPreference的用法应该比较亲切的吧,它一般用来保存和读取用户的设置参数,比如保存用户名、加密后的登录密码,是否选择了自动登录,应用选择了哪一套主题皮肤等用户配置信息,使用也非常简单,put/get就能保存/读取这个配置文件,这个文件是用xml形式保存在应用的目录下面

在ios中,也有这么一个类似的工具——NSUserDefault,它支持的数据格式有:NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型。它是存储在/Library/Prefereces里面,有个plist文件。

下面,我们写一个demo来测试下:

界面很简单,两个button,一个label

点击第一个button用来保存数据,点击第二个button用来显示数据到label

代码如下:

1 - (IBAction)buttonClicked:(id)sender { 2     switch ([sender tag]) { 3         case 1: // 保存数据 4             [self saveData]; 5             break; 6         case 2: // 显示数据 7             [self showData]; 8             break; 9             10         default:11             break;12     }13 }14 15 16 - (void)saveData17 {18     NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];19     20     [userDef setObject:@"wangjie" forKey:@"name"];21     [userDef setInteger:23 forKey:@"age"];22     [userDef setBool:YES forKey:@"isAutoLogin"];23     [userDef setDouble:115.0 forKey:@"weight"];24     [userDef setFloat:171.2 forKey:@"height"];25     26     [userDef synchronize];27     NSLog(@"save success!");28 }29 30 - (void)showData31 {32     NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];33     NSString *content = [NSString stringWithFormat:@"name: %@; age: %d; isAutoLogin: %hhd; weight: %f; height: %f",34                          [userDef stringForKey:@"name"],35                          [userDef integerForKey:@"age"],    36                          [userDef boolForKey:@"isAutoLogin"],37                          [userDef doubleForKey:@"weight"],38                          [userDef floatForKey:@"height"]39                          ];40     41     [[self showLb] setText:content];42     NSLog(@"%@", [[self showLb] text]);43 }

一:启动应用程序后直接点击第二个button,因为数据之前没有被保存,所以显示的数据都是默认的数据:

二:点击第一个button(数据会被插入),再点击第二个button(已有数据可以显示),此时情况如下:

 

本文转自天天_byconan博客园博客,原文链接:http://www.cnblogs.com/tiantianbyconan/p/3405308.html
,如需转载请自行联系原作者
你可能感兴趣的文章
日志挖掘(logminer)
查看>>
LaTeX技巧005:定制自己炫酷的章节样式实例
查看>>
1_NAT模式和桥接模式下的网络配置
查看>>
EF架构~为EF DbContext生成的实体添加注释(T5模板应用)
查看>>
【转】VLAN原理详解
查看>>
python --- json模块和pickle模块详解
查看>>
idea中artifacts、facets、modules是什么意思?
查看>>
FUCKED-BUG之临时对象的生死
查看>>
SP2 PRIME1 - Prime Generator
查看>>
创建和编辑 crontab 文件
查看>>
钉钉发消息
查看>>
20172309_《程序设计与数据结构(下)》_课堂测试修改报告。
查看>>
(二十九)方法调用之解析
查看>>
Springboot文件上传与下载
查看>>
Activity与Fragment数据传递之Fragment从Activity获取数据 分类: ...
查看>>
记一次小的51CTO聚会
查看>>
架構設計_案例說明_by 高老師
查看>>
VR內容開發(PAGE-2)
查看>>
飞舞的蝴蝶
查看>>
Linux环境下C语言模拟内存负载测试
查看>>