前端之家收集整理的这篇文章主要介绍了
ios – 捕获NSKeyedUnarchiver异常,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在
Swift中,如果无法取消存档数据,NSKeyedUnarchiver.unarchiveObjectWithData(data)将抛出异常.
在某些情况下,我们无法保证数据是否未损坏,例如从文件读取时.
我不知道Swift中的try / catch机制,也不知道像canUnarchive这样有助于防止异常的方法.
除了在Obj-C中实现try / catch之外,还有一个纯Swift解决方案来解决这个问题吗?
因为unarchiveObjectWithData()没有抛出它的异常,所以目前无法在Swift中捕获它(截至编写时). iOS 9 SDK
添加了一个新的NSKeyedUnarchiver
方法decodeTopLevelObject(),它现在抛出一个
错误.您可以使用do,try,catch控制流程来捕获它.
do {
let result = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(NSData(...))
} catch {
print(error)
}
原文链接:https://www.f2er.com/iOS/328777.html