YYModel
YYModel copied to clipboard
假如同一个model类modelCustomPropertyMapper里的key改变了,如何重新对应
我在一个案例中读取一个繁体的名字
-
(nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper{
return @{@"name":@"name_tc"}; } APP中更换语言后,需要读取简体的名字,所以我就动态把name_tc改成name_sc
-
(nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper{
return @{@"name":@"name_sc"}; } 可是我发现YYModel会缓存同一个类上一次的mapper,导致我无法按照新的mapper去读取值
首先,你这样的设计有问题,不同场景应该对应 model 上不同的 property。如果你执意如此,你可以试试下面这种方式:
+ (nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper
{
return @{@"name":@[@"name_sc", @"name_tc]};
}
dict to model 时,有 name_sc 或者 name_tc 会自动映射到 name 属性上; modeo to dict 时,name 属性一定会映射到第一个 key,也就是 name_sc 上;