Closed ET-LINK closed 7 months ago
关于问题一:
您完全可以继续使用CodingKeys来处理,完全不受影响。CodingKeys的处理方式是系统底层的隐式实现,效率更高。
static func mapping() 方法主要是为了服务多个值映射的情况的(参考HandyJSON的自定义映射)。如果您没有这样的需求,不需要关注。
关于问题二:
CodingKeys不存在写不写的情况。 只存在是否需要重写的情况。 CodingKeys系统底层会隐式实现。具体可看:
如果您需要忽略某些属性的解析,就重写CodingKeys删除要忽略的case。
mapping方法其实就是进一步对CodingKeys处理。
如果您不需要 【忽略属性】,也不需要【对属性重命名】,完全不需要操管它们。
关于问题三:
mapping()有没有自定义方法。 如果你有这样的需求,可以在didfinishMapping方法进行手动处理,即:先将字符串解析出来,再在解析完成的回调里面处理。
关于问题四:
@SmartOptional, 是2.0版本为了处理可选属性的解析的有缺陷的方案。3.0版本完全解决了这个问题,直接删除即可。无需额外处理。
关于问题四:如何批量更新?
我们项目中更新了100+的Model,半天就更新完了。 2.0 升级到 3.0版本,表面API没有本质的改动。没有想象中的麻烦。
需要适配的内容:
可以访问QQ群:865036731,进一步沟通,
感谢解答
一: 旧版本用
新版本是必须要改成这样吗
二: enum和mapping()是否必须要写, enum不写是否会导致所有数据不解析, 如上面的
age
不需要映射的字段是否需要在mapping()里声明三: mapping()有没有自定义方法, 比如以下将字符串解析成Int数组
四: @SmartOptional 是否已经弃用了
五: 我有上百个Model需要从2.x版本改3.x版本, 有什么其他建议吗
感谢解答