ios中NSUserDefaults的使用方法
ios中NSUserDefaults的使用方法
NSUserDefaults类提供了一个与默认系统进行交互的编程接口。NSUserDefaults对象是用来保存。恢复应用程序相关的偏好设置,配置数据等等。
默认系统同意应用程序自己定义它的行为去迎合用户的喜好。你能够在程序执行的时候从用户默认的数据库中读取程序的设置。同一时候NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作。
能够通过调用synchronize方法来使内存中的缓存与用户默认系统进行同步。
NSUserDefaults类提供了很方便的方法来获取经常使用的类型,比如floats,doubles,intergers,Booleans,URLs。
所以一个NSUserDefaults的对象必须是属性表。这也就是说我们能够存储NSData,NSString,NSNUmber,NSDate,NSArray,NSDictionary这些实例。假设你想存储其它类型的对象。你要将其归档并创建一个NSData来实现存储。
从NSUserDefaults返回的值是不可改变的,即便是你在存储的时候使用的是可变的值。比如你使用mutable string做为“MyStringDefault”的值。当你做使用stringForKey:方法获取的值。这个值仍然是不可变的。
NSUserDefaults是单例。同一时候也是线程安全的
在使用NSUserDefaults的时候。
先看下以下的代码
NSDictionary* defaults = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
NSLog(@"Defaults: %@", defaults);
是用来获取设备上的全部的NSUserDefaults的设置。
NSUserDefaults适合存储轻量级的本地数据,比方要保存一个登陆界面的数据,username、password之类的。个人认为使用NSUserDefaults是首选。下次再登陆的时候就能够直接从NSUserDefaults里面读取上次登陆的信息咯。
由于假设使用自己建立的plist文件什么的。还得自己显示创建文件。读取文件,非常麻烦。而是用NSUserDefaults则不用管这些东西。就像读字符串一样。直接读取就能够了。
NSUserDefaults非常方便,读取也非常easy。
创建一个user defaults方法有多个,最简单得高速创建方法:
- NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];
加入数据到 user defaults:
- [accountDefaults setObject:nameField.text forKey:UserDefaultNameKey];
也能够加入基本数据类型int, float, bool等。有对应得方法
- [accountDefaults setBool:YES forKey:UserDefaultBoolKey];
从user defaults中获取数据:
- [accountDefaults objectForKey:NCUserDefaultNameKey]
- [accountDefaults boolForKey: UserDefaultBoolKey];
要点:
NSUserDefaults很好用,并不须要用户在程序中设置NSUserDefaults的全局变量。须要在哪里使用NSUserDefaults的数据。那么就在哪里创建一个NSUserDefaults对象,然后进行读或者写操作。
针对同一个keyword相应的对象或者数据,能够对它进行重写,重写之后keyword就相应新的对象或者数据。旧的对象或者数据会被自己主动清理。
ios中NSUserDefaults的使用方法的更多相关文章
- iOS中产生随机数的方法
利用arc4random_uniform()产生随机数 Objective-C 中有个arc4random()函数用来生成随机数且不需要种子,但是这个函数生成的随机数范围比较大,需要用取模的算法对随机 ...
- iOS中NSUserDefaults详解
NSUserDefault 作为iOS中一种轻量级数据本地化方式,简单易用,经常用于存储一些应用相关属性记录,例如图书app的背景色,进度,上次阅读的书籍及相关配置信息.NSUserDefault实质 ...
- iOS中数组遍历的方法及比较
数组遍历是编码中很常见的一种需求,我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 因为ios是兼容C语言的,所以c语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的系 ...
- iOS中数组遍历的方法及比較
数组遍历是编码中非经常见的一种需求.我们来扒一拔iOS里面都有什么样的方法来实现,有什么特点. 由于iOS是兼容C语言的.所以C语言里面的最最常见的for循环遍历是没有问题的. 本文中用的数组是获取的 ...
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名.密码之类的,个人觉得使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefa ...
- 关于时间排序在ios中失效的处理方法
上个月公司做项目的时候在列表排序的时候产品加了一个需求,通过点击量,发布时间,评论量进行筛选的一个需求. 一开始在电脑上测试基本没问题,然后我也就放下了这个按耐不住的小心脏,然后在完成所有模块后 sh ...
- IOS中NSUserDefaults的用法
NSUserDefaults适合存储轻量级本地数据,比如要保存用户登陆的用户名.密码,使用NSUserDefaults是首选.下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的 ...
- iOS中 三种随机数方法详解
ios 有如下三种随机数方法: //第一种 srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; //第二种 srandom(t ...
- ios中怎么样设置drawRect方法中绘图的位置
其中drawRect方法中的参数rect就是用来设置位置的,
随机推荐
- 简单易学的机器学习算法——神经网络之BP神经网络
一.BP神经网络的概念 BP神经网络是一种多层的前馈神经网络,其基本的特点是:信号是前向传播的,而误差是反向传播的.详细来说.对于例如以下的仅仅含一个隐层的神经网络模型: watermark/ ...
- 多校第二场 1004 hdu 5303 Delicious Apples(背包+贪心)
题目链接: 点击打开链接 题目大意: 在一个周长为L的环上.给出n棵苹果树.苹果树的位置是xi,苹果树是ai,苹果商店在0位置,人的篮子最大容量为k,问最少做多远的距离可以把苹果都运到店里 题目分析: ...
- Java关键字整理之一
变量.函数.类的前面都可能会用到关键字,最常见的 private.public.protected.default 这四个修饰符的访问权限如下表: -------------------------- ...
- .NET泛型初探
总所周知,.NET出现在.net framework 2.0,为什么要在2.0引入泛型那,因为微软在开始开发.net框架时并没有想过多个类型参数传输时对方法的重构,这样一来,开发人员就要面对传输多种类 ...
- Log使用
学习参考:http://blog.csdn.net/hu_shengyang/article/details/6754031 log4j三种主要组件: logger记录对象 appender输出对象 ...
- 一步一步跟我学习hadoop(5)----hadoop Map/Reduce教程(2)
Map/Reduce用户界面 本节为用户採用框架要面对的各个环节提供了具体的描写叙述,旨在与帮助用户对实现.配置和调优进行具体的设置.然而,开发时候还是要相应着API进行相关操作. 首先我们须要了解M ...
- Ubuntu下的用户和权限(三)
七.增删群组相关的命令 相同的我们要先介绍两个重要的设定档:/etc/group和/etc/gshadow,前面那个事实上和/etc/passwd一样.而后者就是群组的password表了.先看看长啥 ...
- caffe-ssd使用预训练模型做目标检测
首先参考https://www.jianshu.com/p/4eaedaeafcb4 这是一个傻瓜似的目标检测样例,目前还不清楚图片怎么转换,怎么验证,后续继续跟进 模型测试(1)图片数据集上测试 p ...
- poj--3678--Katu Puzzle(2-sat 建模)
Katu Puzzle Time Limit: 1000MS Memory Limit: 65536KB 64bit IO Format: %I64d & %I64u Submit S ...
- 编译最新版webrtc源码和编译好的整个项目10多个G【分享】
编译最新版webrtc源码和编译好的整个项目10多个G[分享] 参考https://webrtc.org/native-code/development/编译最新版webrtc源码: Git clon ...