NSKeyedUnarchiver.unarchivedObject(ofClass...返回 NIL,尽管其已弃用的前置函数有效

NSKeyedUnarchiver.unarchivedObject(ofClass... returns nil although its deprecated predecessor function worked

提问人:Mike Nathas 提问时间:11/18/2023 更新时间:11/18/2023 访问量:21

问:

我有用于取消存档数据的旧代码。NSKeyedUnarchiver.unarchiveTopLevelObjectWithData

let unarchivedData = try? NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(archivedData)

然后,unarchivedData 包含一个包含 Strings、Ints、Dictionaries 和 NSData 内容的内容。NSDictionary

由于此函数已弃用,我现在使用此函数

let unarchivedData = try? NSKeyedUnarchiver.unarchivedObject(ofClass: NSDictionary.self, from: archivedData)

但 unarchivedData 现在包含 nil。

我不知道为什么这个新功能不再起作用了。
这可能是什么原因?此外,使用 try/catch 在错误变量中不显示任何提示。

SWIFT 弃用警告 nskeyedunarchiver

评论


答: 暂无答案