gpt4 book ai didi

ios - 捕获 NSKeyedUnarchiver 异常

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:07 25 4
gpt4 key购买 nike

在 Swift 中,NSKeyedUnarchiver.unarchiveObjectWithData(data) 将在无法取消归档数据时抛出异常。

在某些情况下,我们无法保证数据是否未损坏,例如从文件中读取时。

我不知道 Swift 中有 try/catch 机制,也不知道有类似 canUnarchive 的方法可以帮助防止异常。

除了在 Obj-C 中实现 try/catch 之外,是否有针对此问题的纯 Swift 解决方案?

最佳答案

因为 unarchiveObjectWithData() 不会throw 它的异常,目前没有办法在 Swift 中捕获它(截至写作时)。 iOS 9 SDK 添加了一个新的NSKeyedUnarchiver 方法decodeTopLevelObject(),它现在throws 一个错误。您可以使用 dotrycatch 控制流来捕获它。

do {
let result = try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(NSData(...))
} catch {
print(error)
}

关于ios - 捕获 NSKeyedUnarchiver 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26374127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com