在Mac上,NSCoding是否等于“压缩文件”?

时间:2018-07-29 03:11:04

标签: ios nscoding

我正在使用NSCoding和NSArchiver保留我的iOS App数据。但是我想知道是否等同于使用zip / unzip软件?如果没有,它如何工作?

2 个答案:

答案 0 :(得分:1)

您可以阅读docs来大致了解NSArchiver的工作原理:

  

[...]提供了一种将对象编码为与体系结构无关的格式的方法,该格式可以存储在文件中

基本上,它将内存中的对象(以及它引用的所有其他对象以及这些对象引用的对象,即“对象图”)转换为可以存储在文件中的文件。

这与压缩不同。 NSArchiver只是将您的对象编码为某种格式(二进制,XML等)。压缩将使该编码的二进制文件更小。

有关如何压缩文件,请参见此post

答案 1 :(得分:1)

实际上,它是一个属性列表。这就是NSKeyedArchiver具有outputFormat属性的原因,该属性可以是XML属性列表或二进制属性列表。

有关其含义的更多信息,请参见PropertyListSerialization类的文档。

您实际上可以将存档写入磁盘,以XML格式打开,然后读取。