这是Swift数据解析方案的系列文章:
Swift数据解析(第四篇) - SmartCodable 上
Swift数据解析(第四篇) - SmartCodable 下
我们可以提出要求:理想的数据解析库需要满足什么样的条件?
- 使用安全:不要出现crash,遇到异常的数据可以兼容掉。
- 执行效率:执行效率高。
- 使用方便:代码量越少越好。
- 学习成本:学习成本低,上手容易。
Codable与理想的数据解析方案差在哪里?
使用Codable 协议 进行 decode 时候,遇到以下三种情况就会失败。并且只有一个属性解析失败时就抛出异常,导致整个解析失败:
- 类型键不存在
- 类型键不匹配
- 数据值是null
经过上面几篇文章的学习,我们对Codable有了较为深入的理解,认为Codable满足这些优点(有能力满足)。
SmartCodable 旨在兼容处理 Codable 解码抛出的异常,使解析顺利进行下去。 SmartCodable 提供穷尽了各种异常场景验证兼容性,均成功兼容。