复杂数据的数据持久化

1.要实现数据持久化的自定义类要遵守<NSCopying>协议

2.类中的属性要实现以下操作

//编码协议是让当前类的对象通过固定的编码规则转成NSdata类型的数据

- (void)encodeWithCoder:(NSCoder *)aCoder{

[aCoder encodeObject:self.message_id forKey:@"message_id"];

}

//解码协议,是在反归档的时候将NSData类型的数据转换成当前类的对象时调用的。解码时用到的key要跟编码时指定的key保持一致

- (id)initWithCoder:(NSCoder *)aDecoder{

if (self = [super init]) {

self.message_id = [aDecoder decodeObjectForKey:@"message_id"];

}

return self;

}

3.存数据:实现数据的归档[NSKeyedArchiver archiveRootObject:(id)rootObject toFile:(NSString *)path];

4.取数据:实现数据的反归档[NSKeyedUnarchiver unarchiveObjectWithFile:(NSString *)path];

时间: 2024-09-29 16:02:53

复杂数据的数据持久化的相关文章

Android基础总结(5)——数据存储,持久化技术

瞬时数据:指那些存储在内存当中,有可能会因为程序广播或其他原因导致内存被回收而丢失的数据. 数据持久化:指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不丢失. 保存在内存中的数据是瞬时数据,保存在手机设备中的数据是处于持久状态的,持久化技术则是提供了一种机制可以让数据在瞬时状态和持久状态之间进行切换.Android系统中主要提供了三种方式用于简单地实现数据持久化功能: 文件存储:是Android中最基本的一种数据存储方式.不对存储内容做任何的格式化处理,

UISenior之数据的本地化持久化

数据的本地化主要分为两个方面:1.简单数据的本地持久化(NSString.NSArray.NSDictionary.NSData)2.复杂数据的本地持久化(本文以Person类为例) 简单对象的本地化: 简单对象的本地化基本可以分为四步: 第一步:找到Documents的文件夹的路径. 第二步:我们要知道存储什么,所以要创建存储的对象 第三步:需要知道字符串最终的存储的地方,所以需要创建一个路径去存储字符串 第四步:准备工作完成,将字符串写入文件 下面具体实现上述四步: 第一步 //    第一

Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:14:39 作者:陈飚 “昔我十年前,与君始相识.” 一瞬间Hadoop也到了要初中择校的年龄了. 十年前还没有Hadoop,几年前国内IT圈里还不知道什么是Hadoop,而现在几乎所有大型企业的IT系统中有已经有了Hadoop的集群在运行了各式各样的任务. 2006年项目成立的一开始,“Hadoop”这个单

reshape2 数据操作 数据融合 (melt)

前面一篇讲了cast,想必已经见识到了reshape2的强大,当然在使用cast时配合上melt这种强大的揉数据能力才能表现的淋漓尽致. 下面我们来看下,melt这个函数以及它的特点. melt(data, ..., na.rm = FALSE, value.name = "value") 从这里来看函数的参数也相对比较简单,data表示要处理的数据,na.rm表示缺失值处理办法,value.name用于重命名值所在列的名称 另外,melt函数的难点在于,不同数据结构,用到的参数可能是

黄土高原 shp 矢量 数据 ArcGIS数据

黄土高原 shp  矢量 数据 ArcGIS数据 加我qq 2944410238 获取数据

android SharedPreferences简单应用 插入数据 读取数据

package com.sharedpreference; import java.text.SimpleDateFormat; import java.util.Date; import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.view.Menu; import android.view.View; import androi

用含有合并单元格的数据创建数据透视表

大家知道,使用含有合并单元格的数据创建数据透视表时,会有空的结果出来,不能达到我们的要求,问题的关键在于被合并的单元格的值是空值,那么,问题来了,怎么把这些被合并的单元格作为有值合并呢,即,虽然被合并,但值还在,只是不显示出来而已,这样创建出的数据透视表就能得到正确的结果了. 上图: 操作: 0.原始含合并单格格的值为"原始"部分: 1.将0的部分使用格式刷刷至①处保留: 2.将"原始"部分取消合并单元格,并填充为正常的值: ※ 如果数据量较大,可以参考这个方法进行

大数据练习数据接口

除了分享和讨论经典的数据挖掘和机器学习的算法,为了大家能更好的了解并实践这些算法,DMC特意为大家搜寻了一些大数据的数据源连接. 由于各个网站对于数据使用都有明确且严格的声明,我们不便在未经各网站许可的情况下私自传播数据,所以这里仅提供各数据源的网址,请大家自行登陆到各网站上提取自己所需的数据,并按各网站的数据使用声明使用数据. 数据源友情链接:? 政府&机构数据 美国政府开源数据库:http://www.data.gov/ 英国政府开源数据库:http://data.gov.uk/ 世界银行数

Hadoop mapreduce 数据去重 数据排序小例子

数据去重: 数据去重,只是让出现的数据仅一次,所以在reduce阶段key作为输入,而对于values-in没有要求,即输入的key直接作为输出的key,并将value置空.具体步骤类似于wordcount: Tip:输入输出路径配置. import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop

数据质量管理--数据抽取和清洗

web数据集成技术可以从web上自动获取数据,但是获取的信息存在着大量的脏数据,比如滥用缩写词,惯用语,数据输入错误,重复记录,丢失值,拼写变化,不同的计量单位.这些数据是没有意义的,根本就不可能为以后的数据挖掘决策分析提供任何支持. 数据清洗主要是提高数据的可用性,目前,数据清洗主要应用于三个领域: 1 数据仓库(DW) 2数据库中的知识发现(KDD) 3数据质量管理(TDQM) 我在公司里的第一个项目就是数据质量管理,在这里在说下数据质量管理: 通过制定.实施数据质量检核,暴露各系统数据质量