NSUserDefault
NSUserDefault是Cocoa提供的默认应用程序状态保持接口。它提供了简化的plist文件持久化方法。通过NSUserDefault类,你可以把用户首选项保存到plist文件中。到应用程序结束,这些数据依然存在,并可在应用程序启动时,再次吧上次运行的状态显示到应用程序中(NSUserDefault把plist文件存储到沙盒中的Library/Preference目录下,这个plist文件一直存在,知道你删除应用程序)
1.获取UserDefaults
要想获取到一个UserDefault,最简单的方法是获取到一个应用程序共享实例(单例):
+(NSUserDefaults *)standardUserDefaults
如果不想使用共享的UserDefaults对象,可以在alloc之后实例化自己的NSUserDefaults:
-(id)init
-initWithUser:(NSString *)username
前者使用当前用户账号实例化NSUserDefaults,后者可以用某个指定的用户账号实例化NSUserDefaults(这个方法在ios中无效)
2.在UserDefaults中保存值
在UserDefaults中保存值,需要调用setX:forkey;方法。Default实际上依然是一个plist文件,每一个值都有一个唯一的key,对值的存取是依据key来进行的,setX中的X是值的类型,如BOOL,float,integer等。
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
[user setObject:weekArray forKey:@"week"];
[user setObject:typeArray forKey:@"type"];
[user setObject:hightempArray forKey:@"hightemp"];
[user setObject:lowtempArray forKey:@"lowtemp"];
[user synchronize];
3.删除UserDefaults值
-removeObjectForKey;
4.读取UserDefaults
NSUserDefaults *user = [NSUserDefaults standardUserDefaults];
NSArray *low = [user objectForKey:@"lowtemp"];
NSArray *high = [user objectForKey:@"hightemp"];
NSArray *hello = [user objectForKey:@"week"];
NSArray *koooo = [user objectForKey:@"type"];
NSUserDefault的更多相关文章
- plist文件、NSUserDefault 对文件进行存储的类、json格式解析
========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...
- NSUserDefault的使用
NSUserDefaults 在我们编写代码中是最常用的一个永久保存数据的方法,也是最简单的. 使用NSUserDefault需要注意: 1.数据的本地化保存不是实时的,如果需要实时保存,调用sync ...
- 【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3405308.html 有Android开发经验的朋友对Shar ...
- iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例)
iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notific ...
- iOS开发——数据持久化Swift篇&(一)NSUserDefault
NSUserDefault //******************** 5.1 NSUserDefault和对象归档 func useNSUserDefault() { //通过单利来创建一个NSU ...
- NSUserDefault 的使用(好东东,留着)
1.NSUserDefault的使用: 作用:NSUserDefaults类提供了一个与默认系统进行交互的编程接口.NSUserDefaults对象是用来保存,恢复应用程序相关的偏好设置,配置数据等等 ...
- 【转】iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)-- 不错
原文网址:http://www.cnblogs.com/JuneWang/p/3850859.html iOS页面间传值的方式(NSUserDefault/Delegate/NSNotificatio ...
- 读写应用程序数据-NSUserDefault、对象归档(NSKeyedArchiver)、文件操作
ios中数据持久化存储方式一般有5种:NSUserDefault.对象归档(NSKeyedArchiver).文件操作.数据库存储(SQLite3).CoreData. 1.NSUserDefault ...
- 不建议使用NSUserDefault存储大量数据
NSUserDefaults 其实是一个 plist 文件(有待验证),即使只是修改一个 key 都会 load 整个文件,不适合存储大量数据. NSUserDefaults是保存成文本格式的,容易被 ...
- iOS页面间传值的方式 (Delegate/NSNotification/Block/NSUserDefault/单例)
iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例) iOS页面间传值的方式(NSUserDefault/Delegate/NSN ...
随机推荐
- .Net Core程序的部署(FDD与SCD)
最近打算做一个公司的代码走查工具,思前想后觉得正好可以当作一个Core的实践机会,于是上官网看了下资料,顺便作了一下笔记方便以后查阅. 注1:这里的Core程序部署指的是.Net Core而非Asp. ...
- 有序线性表(存储结构数组)--Java实现
/*有序数组:主要是为了提高查找的效率 *查找:无序数组--顺序查找,有序数组--折半查找 *其中插入比无序数组慢 * */ public class MyOrderedArray { private ...
- sql执行报错--This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
问题: 不支持使用 LIMIT 子句的 IN/ALL/ANY/SOME 子查询,即是支持非 IN/ALL/ANY/SOME 子查询的 LIMIT 子查询. 解决: 将语句:select * from ...
- 开发《WORD阅读器》小结(1)
这是一个相对原生的APP开发, 从GITHUB上下载了相应的框架,应该是至少2年以前的一个lovereader,是我能快速找到的为数不多的WORD阅读器的源码.应该是用ECLIPSE开发的,而我现在只 ...
- 你真的懂offset与scroll吗?
背景 身为一个前端工程师,每次在做关于滚动或者定位之类的交互时,或多或少都会用到offset.scroll之类的元素属性值来计算距离,但是每次都是现用现百度,从来没有真正系统地弄明白其中的原理及用法: ...
- awk命令练习
文件 file.txt的内容格式: 文件中包含名字,电话号码和过去三个月里的捐款 具体内容如下: Mike Harrington:[510] 548-1278:250:100:175 Christia ...
- Python中编码问题:u'\xe6\x97\xa0\xe5\x90\x8d' 类型的转为utf-8的解决办法
相信小伙伴们遇到过类似这样的问题,python2中各种头疼的转码,类似u'\xe6\x97\xa0\xe5\x90\x8d' 的编码,直接s.decode()是无法解决编码问题.尝试了无数办法,都无法 ...
- Mongodb联合查询
Mongodb使用联合查询的重点需要添加@DBref 这样的话不会将整个文档保存,只会保存关联集合的id package com.java.web; import java.util.List; i ...
- ⑥bootstrap表单使用基础案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- (二): 基于ZeroMQ的实时通讯平台
基于ZeroMQ的实时通讯平台 上篇:C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework)----(一):整体介绍 通讯平台作为 ...