码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发数据持久化技术01——NSUserDefault介绍

时间:2015-06-06 09:13:41      阅读:446      评论:0      收藏:0      [点我收藏+]

标签:ios开发   数据持久化技术   nsuserdefaults   

有疑问的请加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];

    

}





iOS开发数据持久化技术01——NSUserDefault介绍

标签:ios开发   数据持久化技术   nsuserdefaults   

原文地址:http://blog.csdn.net/qq_17354271/article/details/46383449

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!