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

来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3405308.html

有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

代码如下:

 - (IBAction)buttonClicked:(id)sender {
switch ([sender tag]) {
case : // 保存数据
[self saveData];
break;
case : // 显示数据
[self showData];
break; default:
break;
}
} - (void)saveData
{
NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults]; [userDef setObject:@"wangjie" forKey:@"name"];
[userDef setInteger: forKey:@"age"];
[userDef setBool:YES forKey:@"isAutoLogin"];
[userDef setDouble:115.0 forKey:@"weight"];
[userDef setFloat:171.2 forKey:@"height"]; [userDef synchronize];
NSLog(@"save success!");
} - (void)showData
{
NSUserDefaults *userDef = [NSUserDefaults standardUserDefaults];
NSString *content = [NSString stringWithFormat:@"name: %@; age: %d; isAutoLogin: %hhd; weight: %f; height: %f",
[userDef stringForKey:@"name"],
[userDef integerForKey:@"age"],
[userDef boolForKey:@"isAutoLogin"],
[userDef doubleForKey:@"weight"],
[userDef floatForKey:@"height"]
]; [[self showLb] setText:content];
NSLog(@"%@", [[self showLb] text]);
}

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

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

【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比的更多相关文章

  1. 【Unity】Unity中C#与Android中Java的互相调用遇到的一些问题

    1.有关调用的一些问题: (1).在C#中直接调用java中的代码,无返回值: 在java中: public static void setAge(Context context , int leve ...

  2. iOS的 context 和Android 中的 canvas

    ios 想要绘图,要用到CGContextRef类.最基本的用法是在- (void)drawRect:(CGRect)rect 函数中绘制. Android 中要用到Canvas类.最基本的用法是在  ...

  3. Android中WebView的JavaScript代码和本地代码交互的三种方式

    一.Android中WebView的漏洞分析最近在开发过程中遇到一个问题,就是WebView使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视 ...

  4. Android中的HTTP通信

    前言:近期在慕课网学习了慕课网课程Android中的HTTP通信,就自己总结了一下,其中参考了不少博文,感谢大家的分享. 文章内容包括:1.HTTP简介2.HTTP/1.0和HTTP/1.1之间的区别 ...

  5. Android中Intent传值与Bundle传值的区别详解

    Android中Intent传值与Bundle传值的区别详解 举个例子我现在要从A界面跳转到B界面或者C界面   这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两 ...

  6. android中数据存储

    android中数据存储     Android 中存储数据的方式有五种:SQLite数据库.文件存储.内容提供者.网络.SharedPreferences(Key----value)五种存储方式. ...

  7. android中使用setVideoURI()播放视频

    最近在做一个demo,要求播放视频,记录一下.使用的是VideoView控件,如果播放网络视频的话,视频应该是渐进流式的,格式嘛,大家应该都知道,一般是H.263或者H.264格式的扩展名为3gp或者 ...

  8. Android中一个类实现的接口数不能超过七个

    近期一段时间,在开发Android应用程序的过程中,发现Android中一个类实现的接口数超过七个的时候,常常会出现超过第7个之后的接口不能正常使用.

  9. Android 中Dialog的使用

    本文是参考ProAndroid的第10章Working with Dialogs的内容,在合适的地方添加了作者自己的一些见解最终成文. Android 中的对话框是一个展示在当前窗口上的小一号的窗口, ...

随机推荐

  1. Spring Setter Injection and Constructor Injection

    Setter Injection AppContext.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  2. Windows Azure Web Site (10) Web Site测试环境

    <Windows Azure Platform 系列文章目录> 我们知道,在使用Azure Cloud Service的时候,会有2个不同的环境,称为Production环境和Stagin ...

  3. OGNL和ValueStack

    OGNL简介 OGNL的全称是Object Graph Navigation Language,即对象导航图语言.它是一个开源项目,工作在视图层,其通过简单一致的表达式语言来读取合适者Java对象的属 ...

  4. AndroidStudio 多层级 Module 对 aar 引用问题

    最近碰到这么个恶心的问题 问题:有个arr文件被放到Module A中引用,现在Module B又依赖了Module A,则在编译过程中会发生错误,Module B找不到aar文件.(同时如果又有Mo ...

  5. C#--常量

  6. LeetCode - 54. Spiral Matrix

    54. Spiral Matrix Problem's Link ------------------------------------------------------------------- ...

  7. 微信公众号入门学习2_使用C#,ASP.NET APIController如何被动回复用户消息

    前言: 这里就可以凸显使用APIController的一个优势了,因为可以通过MVC的路由设置相同的路由,但改变请求的方式(HttpPost),可以单独写被动回复接口. 毕竟,微信服务器转入到咱们自己 ...

  8. jquery时间轴幻灯展示源代码

    查看效果:http://hovertree.com/texiao/jquery/75/ 源代码下载:http://hovertree.com/h/bjaf/8jlpc2wu.htm 效果图如下: 代码 ...

  9. linq查询xml

    1.加载xml字符串 XElement root = XElement.Parse(@"<?xml version='1.0' encoding='utf-8'?> <It ...

  10. a标签中调用js方法

    1. a href="javascript:void(0);" onclick="js_method()" 这种方法是很多网站最常用的方法,也是最周全的方法,o ...