Files
yinmeng-ios/xplan-ios/Base/MVP/Model/BaseObject.m

56 lines
1.3 KiB
Objective-C

//
// BaseObject.m
// xplan-ios
//
// Created by 冯硕 on 2021/9/9.
//
#import "BaseObject.h"
#import <MJExtension/MJExtension.h>
@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];
}
///如果模型中包含数组的话
+ (NSDictionary *)mj_objectClassInArray {
return [self objectClassInArray];
}
///模型中需要映射 重写整个方法
+ (NSDictionary *)mj_replacedKeyFromPropertyName {
return [self replacedKeyFromPropertyName];
}
///扩展方法 按需索取 重写即可
///如果一个模型中 包含一个数组 数组中是另一个模型
+ (NSDictionary *)objectClassInArray {
return @{};
}
///如果一个模型中需要字段映射的话 比如id -> ID name -> other.name
+ (NSDictionary *)replacedKeyFromPropertyName {
return @{};
}
@end