美文网首页ios相关文章
swift4-字典转模型的一些总结

swift4-字典转模型的一些总结

作者: 也许________ | 来源:发表于2017-09-30 12:51 被阅读115次
    使用swift4提供的新特性Codable来实现字典转模型
    写在前面,使用过程中要知道的几个小知识点

    tip1:
    如果模型中的属性不包含自定义属性,只有字典中的属性(不是一一对应),这时转模型就可以不用实现 required init(from: Decoder) ,直接转模型就可以

    如果模型中包含了自定义属性,必须实现 required init(from: Decoder) 并且在内部对每个属性进行取值赋值,自定义属性根据需要可以选择赋值也可以不赋值

    tip2:
    如果模型中的属性与字典中的key是一一对应关系,并且不包含自定义属性,那么模型中除了要实现Codable协议外,不需要写任何代码,直接进行转模型就可以

    tip3:
    如果返回的字典中的key与模型中的属性名称定义规范不同,可以在 CodingKeys 中对该字段进行名称映射

    注意:模型必须实现Codable协议,模型中嵌套的模型flatOptions和horsepoint对应的模型也必须实现Codable协议
    如果包含自定义属性,则必须在 required init(from: Decoder) 中解码

    假设字典中属性名称不符合模型命名规则,可以在CodingKeys中设置映射
    上图中字典中的字段叫geoPoint,模型中与之对应的属性为horsePoint
    ps:
    1.使用 required init(from: Decoder) 进行解码的前提,需要定义遵守CodingKey协议的枚举,在这个枚举中定义所有需要进行解码的属性
    2."CodingKeys" 名称可以随意起,不是固定的。

    噼里啪啦小魔仙~~~~~

    相关文章

      网友评论

      • 蒋昉霖:封装呢
        也许________:没写好,我想要封装成模型类中零代码的。
        但能力不行,只能慢慢完善。

      本文标题:swift4-字典转模型的一些总结

      本文链接:https://www.haomeiwen.com/subject/mtmgextx.html