草庐IT

DecodingError

全部标签

swift - 在 DecodingError 中采用 CustomNSError

我正在使用Crashlytics编写一个错误记录器,我遇到了一个问题,这让我质疑我对协议(protocol)和动态调度的理解。当使用Crashlytics记录非fatalerror时,API需要一个符合错误的对象和一个可选的用户信息字典。我目前正在查看JSON解码错误,当我刚刚在recordError中发送DecodingError时,我对在Crashlytics仪表板中看到的内容不太满意。所以我的解决方案是为采用CustomNSError的DecodingError编写一个扩展,以提供一些更详细的信息以帮助将来进行调试:extensionDecodingError:CustomNSE

json - decoder.container(keyedBy :) throws DecodingError. typeMismatch 错误。编码错误?

我正在使用Codable协议(protocol)从WebAPI解码JSON。我的此API的Swift数据模型包括类继承(子类)和组合(对象作为其他对象的属性)。在JSON中,相同的属性名称可能表示一个完整的对象,或者表示该对象在数据库中的ID的单个字符串。据我所知,使用Codable处理此类JSON的唯一模式是在对象的初始化器init(fromdecoder:Decoder)中“手动”进行解码>,并首先尝试解码整个对象。如果失败(通过抛出必须捕获的错误),则重试解码与String相同的属性。只要包含varient属性的对象不是另一个Decodable类的子类,这种方法就可以正常工作。在

ios - 在 Swift 中打印有关解码失败的 DecodingError 详细信息

我开始重写一个应用程序,我想使用Swift4Codable协议(protocol)自动将json字符串转换为对象和结构。有时,特别是在编码的开始,我遇到了解码问题,所以我想打印这些错误(不总是使用调试器),以防某些bean没有正确解码。问题是这样的:如您所见,在调试器中,“decodingError”对象上有:出现问题的key(NominativoModel.denNome)遇到的错误(预期编码数组blablabla...)。我的问题是代码中该元素的唯一属性是errorDescription、failureReason等,它们都是nil。如何打印在调试器中正确显示的值?