// // BaseObject.m // xplan-ios // // Created by 冯硕 on 2021/9/9. // #import "BaseObject.h" #import @implementation BaseObject /// 依据数组初始化一个实例数组 /// @param json json 数据 + (NSArray *)modelsWithArray:(id)json { return [self mj_objectArrayWithKeyValuesArray:json]; } /// 依据字典初始化一个实例 /// @param dictionary 字典 + (instancetype)modelWithDictionary:(NSDictionary *)dictionary { return [self mj_objectWithKeyValues:dictionary]; } /// 依据JSON对象初始化一个实例 /// @param json json 数据 + (instancetype)modelWithJSON:(id)json { return [self mj_objectWithKeyValues:json]; } ///model 转字典 - (NSDictionary *)model2dictionary { return [[self mj_keyValues] copy]; } - (NSString *)model2json { return [self mj_JSONString]; } ///如果模型中包含数组的话 + (NSDictionary *)mj_objectClassInArray { return [self objectClassInArray]; } ///模型中需要映射 重写整个方法 + (NSDictionary *)mj_replacedKeyFromPropertyName { return [self replacedKeyFromPropertyName]; } ///扩展方法 按需索取 重写即可 ///如果一个模型中 包含一个数组 数组中是另一个模型 + (NSDictionary *)objectClassInArray { return @{}; } ///如果一个模型中需要字段映射的话 比如id -> ID name -> other.name + (NSDictionary *)replacedKeyFromPropertyName { return @{}; } @end