我正在使用Codable的Swiftt 4项目中工作。但是,我收到以下错误:
let spans = document.querySelectorAll('.avia_textblock p span');
for( i=spans.length-1; i>= spans.length-2; i-- ){
spans[i].parentNode.removeChild(spans[i]);
}
现在我想知道的是如何最好地调试它。有可能看到Codable试图在我的模型中填充什么数据吗?特别是因为在这种情况下使用相当先进的嵌套,我在这里重新认识它是一个真正的救星......
谢谢:)
答案 0 :(得分:2)
Codable
错误非常具有描述性。对于调试,请使用此catch
块来获取详细的错误消息:
} catch DecodingError.dataCorrupted(let context) {
print(context)
} catch DecodingError.keyNotFound(let key, let context) {
print("Key '\(key)' not found:", context.debugDescription)
print("codingPath:", context.codingPath)
} catch DecodingError.valueNotFound(let value, let context) {
print("Value '\(value)' not found:", context.debugDescription)
print("codingPath:", context.codingPath)
} catch DecodingError.typeMismatch(let type, let context) {
print("Type '\(type)' mismatch:", context.debugDescription)
print("codingPath:", context.codingPath)
} catch {
print("error: ", error)
}
debugDescription
和codingPath
都会告诉您到底出了什么问题以及在哪里。