您的位置:首页 > 移动开发 > IOS开发

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];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: