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
变成一个属性 可好
|