我正在使用NSCoding和NSArchiver保留我的iOS App数据。但是我想知道是否等同于使用zip / unzip软件?如果没有,它如何工作?
答案 0 :(得分:1)
您可以阅读docs来大致了解NSArchiver
的工作原理:
[...]提供了一种将对象编码为与体系结构无关的格式的方法,该格式可以存储在文件中
基本上,它将内存中的对象(以及它引用的所有其他对象以及这些对象引用的对象,即“对象图”)转换为可以存储在文件中的文件。
这与压缩不同。 NSArchiver
只是将您的对象编码为某种格式(二进制,XML等)。压缩将使该编码的二进制文件更小。
有关如何压缩文件,请参见此post。
答案 1 :(得分:1)
实际上,它是一个属性列表。这就是NSKeyedArchiver具有outputFormat
属性的原因,该属性可以是XML属性列表或二进制属性列表。
有关其含义的更多信息,请参见PropertyListSerialization类的文档。
您实际上可以将存档写入磁盘,以XML格式打开,然后读取。