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

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

    

}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值