使用 NSKeyedUnarchiver 解码 NSArchiver

Decoding NSArchiver with NSKeyedUnarchiver

提问人:Trygve 提问时间:1/30/2022 更新时间:1/30/2022 访问量:251

问:

我有一些旧存档,基本上是使用 NSArchiver 创建的存储首选项。我希望能够使用 NSKeyedUnarchiver 解码它们,因为 NSArchiver/NSUnarchiver 已被弃用,取而代之的是它们的键控对应物。

有什么方法可以做到这一点吗?

cocoa nskeyedunarchiver nsarchiving

评论

1赞 vadian 1/30/2022
请查看 Archives and Serializations Programming Guide

答:

1赞 Rob Napier 1/30/2022 #1

不能使用 NSKeyedUnarchiver 解码 NSArchiver 存档。NSArchiver 格式已弃用,而不仅仅是类。如果数据采用旧格式,则可能需要使用已弃用的类对其进行解码。关键是,您将使用 NSKeyedArchiver(或其他选项之一,如 Swift 中的 Codable)对数据进行重新编码,并以现代格式存储。