iOS开发数据持久化技术01——NSUserDefault介绍
2015-06-05 23:47
330 查看
有疑问的请加qq交流群:390438081
我的QQ:604886384(注明来意)
微信:niuting823
首先说下什么是数据持久化技术
NSString *str = @“hello world”; —>内存
实际上就是将数据存储到硬盘上,针对于iOS应用程序是存储到沙盒中。
. NSUserDefault介绍
1 是系统提供的自定义的类,可以随时在需要使用的地方声明对象,并随时需要的时候取出对象
2 支持的对象类型:NSString, NSNumber, NSData, NSArray, NSDictionary, BOOL, NSInteger, NSFloat;
3 不支持自定义对象类型
. NSUserDefault特性
1 往NSUserDefault添加数据后,它就变成了一个全局的变量,即在整个app中可读、写NSUserDefault中的数据
2 可重复读/写:针对于同一个关键字对应的对象,可以重复写。
3 *注意:*NSUserDefault是定时往磁盘/硬盘写数据,而不是及时写入;如果需要随时写入磁盘,需要调用一个同步函数synchronize,此时会强制立即写入磁盘。(要特别注意的)
. 到底NSUserDefault持久化之后的数据,存入哪里?? ??
第一步在storyboard拖两个textFiled控件,姓名和年龄
第二步声明姓名和年龄属性
第三步自定义一个方法名为initDataByUserDefault的方法
第四步在用户将后台程序移除后,需要知道针对这个动作的触发时间/方法(通知)
第五步实现触发方法
- (void)applicationWillDidEnterBackground:(NSNotification *)notification
{
NSLog(@"程序开始进入后台.");
//4.
在触发方法中去保存你要保存的数据
NSUserDefaults *defaults = [NSUserDefaultsstandardUserDefaults];
//使用defaults来保存用户数据的名字/年龄文本
[defaultssetObject:self.nameTextField.textforKey:@"name"];
[defaultssetObject:self.ageTextField.textforKey:@"age"];
//强制将用户输入的名字和年龄数据保存到硬盘中
[defaultssynchronize];
}
我的QQ:604886384(注明来意)
微信:niuting823
首先说下什么是数据持久化技术
NSString *str = @“hello world”; —>内存
实际上就是将数据存储到硬盘上,针对于iOS应用程序是存储到沙盒中。
. NSUserDefault介绍
1 是系统提供的自定义的类,可以随时在需要使用的地方声明对象,并随时需要的时候取出对象
2 支持的对象类型:NSString, NSNumber, NSData, NSArray, NSDictionary, BOOL, NSInteger, NSFloat;
3 不支持自定义对象类型
. NSUserDefault特性
1 往NSUserDefault添加数据后,它就变成了一个全局的变量,即在整个app中可读、写NSUserDefault中的数据
2 可重复读/写:针对于同一个关键字对应的对象,可以重复写。
3 *注意:*NSUserDefault是定时往磁盘/硬盘写数据,而不是及时写入;如果需要随时写入磁盘,需要调用一个同步函数synchronize,此时会强制立即写入磁盘。(要特别注意的)
. 到底NSUserDefault持久化之后的数据,存入哪里?? ??
第一步在storyboard拖两个textFiled控件,姓名和年龄
第二步声明姓名和年龄属性
第三步自定义一个方法名为initDataByUserDefault的方法
第四步在用户将后台程序移除后,需要知道针对这个动作的触发时间/方法(通知)
第五步实现触发方法
- (void)applicationWillDidEnterBackground:(NSNotification *)notification
{
NSLog(@"程序开始进入后台.");
//4.
在触发方法中去保存你要保存的数据
NSUserDefaults *defaults = [NSUserDefaultsstandardUserDefaults];
//使用defaults来保存用户数据的名字/年龄文本
[defaultssetObject:self.nameTextField.textforKey:@"name"];
[defaultssetObject:self.ageTextField.textforKey:@"age"];
//强制将用户输入的名字和年龄数据保存到硬盘中
[defaultssynchronize];
}
相关文章推荐
- 支付宝SDK IOS
- 玩转 IOS 开发 - block 使用详解
- IOS初学收获,第一天视频
- iOS开发 多线程之”GCD“
- iOS适配
- iOS - 版面实现记录五
- iOS 工作备注
- IOS 开源项目
- IOS 如何选择delegate、notification、KVO?
- iOS战记 ----OC基础语法之战(三)
- iOS战记 ----OC基础语法之战(二)
- 如何将Nios II硬件和软件合成一个文件(NIOS II)烧进EPCS falsh
- IOS开发类书--目录总结
- iOS:KVO/KVC 的概述与使用
- iOS开发者遇到审核失败的原因及解决办法
- 编译vlc for ios
- 制作iOS Ad-Hoc测试应用
- iOS报错 -pie can only be used when targeting iOS 4.2 or later
- iOS开发系列--并行开发其实很容易 --多线程开发
- Mac下顯示當前文件目錄(配置open cv on ios)