arrays - iOS12 中的 NSKeyedUnarchiver 更改 - 如何取消存档字符串数组

标签 arrays swift nskeyedunarchiver

Foundation 从 iOS 11.4 到 iOS12 有一些变化。遗憾的是,我找不到关于此主题的任何有用文档。

在 iOS12 之前,我有这段代码完美地工作以从某个文件路径读取带有字符串的数组:

if let myList : Array<String> = NSKeyedUnarchiver.unarchiveObject(withFile: filePath) as? Array<String> {
   // ...
}

正如我发现的那样,我应该使用 iOS12 中的一些新方法并且我尝试了这个(当然是在 do-catch-structure 中,并且在获取数据对象之后):

let myList : Array<String> = try NSKeyedUnarchiver.unarchivedObject(ofClass: Array<String>, from: data)

我也试过没有成功:

let myList : Array<String> = try NSKeyedUnarchiver.unarchivedObject(ofClass: Array<String>.self, from: data)

有什么建议吗?

最佳答案

我终于找到了自己。 它适用于这种方法:

if let fileNames = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(dataObject) as? Array<String> {
    // ... 
}        

关于arrays - iOS12 中的 NSKeyedUnarchiver 更改 - 如何取消存档字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53894467/

相关文章:

java - 优化字节数组简单模式匹配

ios - 从模态呈现的 UINavigationVController 导航到根 UINavigationVController - swift

ios - Swift - NSKeyedUnarchiver unarchiveObjectWithData 在 NSMutableArray

ios - NSKeyedArchiver 并在目标之间共享自定义类

swift - 如何判断文件或目录是否可以在 OSX 中重命名?

swift - 使用 NSKeyedUnarchiver 取消存档时捕获异常

java - 排序并显示数组

arrays - 了解处理可变长度数据,特别关注 C(99) 中的可变长度数组

arrays - 将一维字符串数组转换为json文件

ios - 关于 CIContext、OpenGL 和 Metal (SWIFT) 的困惑。 CIContext 默认使用 CPU 还是 GPU?