这个,算是个总结吧, 之前基本上用的都是mj,不过都差不多
// json转模型
+ (instancetype)yy_modelWithJSON:(id)json;
// 模型转字符串
- (NSString *)yy_modelToJSONString
// 字典转模型
+ (instancetype)yy_modelWithDictionary:(NSDictionary *)dictionary ;
// 声明数组、字典或者集合里的元素类型时要重写
+ (nullable NSDictionary<NSString *, id> *)modelContainerPropertyGenericClass;
// 字典里的key值与模型的属性值不一致要重复 需遵循<YYModel>
+ (nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper;
//黑名单 需遵循<modelPropertyBlacklis>
+ (nullable NSArray<NSString *> *)modelPropertyBlacklist;
//白名单 需遵循<modelPropertyWhitelist>
+ (nullable NSArray<NSString *> *)modelPropertyWhitelist;
最常用的就是下边三个,用法:
1.字典转模型,这个很简单不说了;
2.声明数组、字典或者集合元素是要重写:
+ (NSDictionary<NSString *,id> *)modelContainerPropertyGenericClass {
return @{
@"result":ResultModel.class,
};
}
3.字典里的key值与模型的属性值不一致(这个经常比如id等关键字)
+ (NSDictionary<NSString *,id> *)modelCustomPropertyMapper{
return @{@"pid":@"id"};
}