
YYModel 中可以使用以下两个方法处理 Model-JSON 转换的特殊情况:
//①定义字段-属性的映射,如字段为"userID"转换到 userId 属性 + (NSDictionary *)modelCustomPropertyMapper; //②验证 /处理字段的值,如字段值为"T"则赋值为 YES - (BOOL)modelCustomTransformFromDictionary:(NSDictionary *)dic; 如果 Model 之间存在继承关系:
User - int userId(api 返回 userID,需要实现①) - 枚举 gender(api 返回 T/F 字符串,需要实现②转换成枚举) LoginUser : User - int loginId()(api 返回 loginID,需要实现①) - bool isVip(api 返回 T/F 字符串,需要实现②转换成布尔) 问题是: LoginUser 实现的①、②会覆盖 User 实现的①、②,大家通常是怎么处理的呢?
1 timelessg 2018-02-26 20:05:03 +08:00 via iPhone 比较蠢的方法,子类方法拿到 super 方法的 return,加上子类的 key value 再 return,楼下继续 |
3 ai277014717 2018-02-27 12:58:14 +08:00 把 1 楼的方法封装一下,换个名字,以后都用新方法。 |
4 Alchemistxxd 2018-02-27 16:54:09 +08:00 call super。还有就是最好少用入侵性这么强的底层 Model。 |
5 holonunu OP @Alchemistxxd 是协议,不算入侵吧。只是继承就意味着覆盖。 |
6 Alchemistxxd 2018-02-27 18:12:15 +08:00 @holonunu 嗯看错了,太久没用 OC,联想成 Mantle 了 |
7 gunavy 2018-03-22 15:19:19 +08:00 modle 多了,还不如直接用字典 |
8 getinlight 2018-06-16 16:29:21 +08:00 变成一个属性 可好 |