归档的三种方式

所谓归档:将复杂对象转化为NSData类型数据(复杂-->归档-->NSData--->WriteToFile) 


注意:归档是将对象转化为数据字节,以文件的形式存储在磁盘上,所谓反归档,将NSData类型数据转化为复杂对象(读取文件-->NSData-->反归档--->复杂对象)

再说归档之前,先说下iOS的数据持久化方式:

那么问题来了,什么是数据持久化?

数据持久化(侠义的理解):仅仅指把域对象永久保存到数据库中,(广义的理解):包括和数据库相关的各种操作

优点:

1:数据持久化可以减少访问数据库数据的次数,增加应用程序执行的速度;

2:代码重用性高,能够完成大部分数据库操作;

3:低耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需要修改配置文件而不用修改代码。

那么iOS的数据化持久方式有哪些呢?

1:属性列表(Plist文件),NSUserDefault

2:归档(NSKeyedArchiver)

3:数据库(SQlite,CoreData,FMDB(第三方))

归档的三种方式:

1:对foundation框架的对象进行归档

2:对自定义的对象进行归档

3:对自定义内容进行归档

注意:归档生成的文件是加密的。

原文地址:https://www.cnblogs.com/fengmin/p/5625742.html