iOS开发 -NSUserDefaults 轻量级快速存储
来源:互联网 发布:ps笔刷for mac 百度云 编辑:程序博客网 时间:2024/06/10 07:51
IOS提供了一个轻量级的快速数据存储方式:NSUserDefaults;
程序运行的时候从用户默认的数据库中读取程序的设置,同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作,所有数据都放在内存中,读写速度很快。
NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是大家喜欢用它保存简单数据的一个主要原因。
使用 NSUserDefaults 存储自定义对象的最初,我们必须认识NSUserDefaults可以存储哪一些类型的数据,下面一一列出:
NSUserDefaults支持的数据类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.
[NSUserDefaults standardUserDefaults]用来记录一下永久保留的数据非常方便,不需要读写文件,而是保留到一个NSDictionary字典里,由系统保存到文件里,系统会保存到该应用下的/Library/Preferences/gongcheng.plist文件中。需要注意的是如果程序意外退出,NSUserDefaultsstandardUserDefaults数据不会被系统写入到该文件,不过可以使用[[NSUserDefaultsstandardUserDefaults] synchronize]命令直接同步到文件里,来避免数据的丢失。
1。 获取 NSUserDefaults
//这是一个单例,获取非常方便,随时可以调用: [NSUserDefaults standardUserDefaults];
2。 写入数据
[[NSUserDefaults standardUserDefaults] setInteger:10 forKey:@"test"]; [[NSUserDefaults standardUserDefaults] setFloat:10.0 forKey:@"test"]; //..... NSUserDefaults 支持多种数据类型,用 key来标示
3。 读出数据
int a = [[NSUserDefaults standardUserDefaults] integerForKey:@"test"]; float b = [[NSUserDefaults standardUserDefaults] floatForKey:@"test"];
。。。当然也支持其他各种类型
4。保存数据,实现持久化存储
[[NSUserDefaults standardUserDefaults] synchronize];
5。 判断数据是否存在
if([[NSUserDefaults standardUserDefaults] objectForKey:@""test"]==nil){ //代码处理 }else{ //代码处理 }
而像SQLite这样的数据库方式,适合大量数据的存储。
2 0
- iOS开发 -NSUserDefaults 轻量级快速存储
- IOS开发:NSUserDefaults的使用(轻量级本地数据存储)
- IOS NSUserDefaults-轻量级本地数据存储
- iOS 本地轻量级数据存储之NSUserDefaults
- iOS开发经验技巧之IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- iOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- iOS中NSUserDefaults的用法(轻量级本地数据存储)
- 泰国清迈8天自由行小结
- DLL的进入退出——由DLL_PROCESS_ATTACH而联系搜索起来。
- [C#] 汉字转拼音,支持多音字
- 排列组合算法之三: 递归法
- gdb调试dce
- iOS开发 -NSUserDefaults 轻量级快速存储
- 高手必备常用开发宏
- 自定义标签——迭代器——改进版
- JavaWeb学习总结(十二)——Session
- 递归算法详细分析-> C
- 如何在storyBoard中实现UIimageView长宽相等
- POJ1284---Primitive Roots(求原根个数, 欧拉函数)
- 组合、继承和代理三者的定义
- 前端(初、中级)面试题(June)