HandyJSON icon indicating copy to clipboard operation
HandyJSON copied to clipboard

swift 5.0 自定义映射获取不了值

Open AbooJan opened this issue 7 years ago • 8 comments

分支: dev_for_swift5.0 swift: 5.0

使用自定义字段映射方法 func mapping(mapper: HelpingMapper) ,获取的值是 nil

AbooJan avatar Apr 08 '19 07:04 AbooJan

贴一下取值为 nil 的代码?

lynnleelhl avatar Apr 08 '19 08:04 lynnleelhl

open class BaseBean: NSObject, HandyJSON {
    public required override init() {}
}

class CommonUserModel: BaseBean {
    var head: String?
    var uid: Int64 = 0
    var nick: String?
    
    func mapping(mapper: HelpingMapper) {
        mapper <<<
            uid <-- "id"
    }
}
let json = "{\"head\":\"Aboo\", \"id\":1001, \"nick\":\"jan\"}";
let model = CommonUserModel.deserialize(from: json);

解析出来的model的字段uid为空

AbooJan avatar Apr 09 '19 01:04 AbooJan

model不要继承NSObject,直接继承HandyJSON应该就好了

leroyli avatar Jul 18 '19 05:07 leroyli

model不要继承NSObject,直接继承HandyJSON应该就好了

我这边的问题跟他差不多,我并没有继承nsobject。我也无法解析数据

qd1332543 avatar Sep 28 '19 13:09 qd1332543

我也碰到了这个问题,也没有继承nsobject

Yanemperor avatar Jun 03 '20 02:06 Yanemperor

遇到同样问题,有什么方案吗?

LiuJQ avatar Aug 03 '20 13:08 LiuJQ

遇到同样问题,有什么方案吗?

我这边的情况是多重继承,导致子类mapping映射失效,已经按照官方wiki解决了

LiuJQ avatar Aug 04 '20 02:08 LiuJQ

我也已经解决了

在2020年08月04日 10:52,Jackin 写道:

遇到同样问题,有什么方案吗?

我这边的情况是多重继承,导致子类mapping映射失效,已经按照官方wiki解决了

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.

qd1332543 avatar Aug 05 '20 12:08 qd1332543