swift 当数据是字符串数组时,如何将NSKeyedUnarchiver.unarchiveTopLevelObjectWithData替换为unarchivedObject?

ryoqjall  于 2023-04-19  发布在  Swift
关注(0)|答案(1)|浏览(104)

我的项目最近在Xcode中显示了这个错误:
“unarchiveTopLevelObjectWithData”在macOS 10.14中已弃用:使用unarchivedObject(ofClass:from:)代替
我发现这篇文章谈到了我的确切问题:
How to replace NSKeyedUnarchiver.unarchiveTopLevelObjectWithData with unarchivedObject when data is a Dictionary
除了我的数据是一个字符串数组,而不是一个字典。所以,因为我不能在那篇文章上发表评论,我把这个作为一个新问题来问。
我怎样才能将下面的解决方案应用于[String]?

let dictionary = try? NSKeyedUnarchiver.unarchivedObject(ofClasses: [NSDictionary.self, NSArray.self], from: data) as? NSDictionary
2lpgd968

2lpgd9681#

正确答案是:

let array = try? NSKeyedUnarchiver.unarchivedObject(ofClasses: [NSArray.self, NSString.self], from: data) as? [String]

相关问题