Files
peko-ios/YuMi/Tools/NSObject+MJExtension.h

44 lines
986 B
C
Raw Normal View History

2023-07-06 16:54:13 +08:00
//
// NSObject+MJExtension.h
// YUMI
//
// Created by zu on 2021/10/27.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface NSObject (MJExtension)
2023-07-14 18:50:55 +08:00
/// 依据数组初始化一个实例数组
/// @param json json 数据
+ (NSArray *)modelsWithArray:(id)json;
2023-07-06 16:54:13 +08:00
2023-07-14 18:50:55 +08:00
/// 依据字典初始化一个实例
/// @param dictionary 字典
+ (instancetype)modelWithDictionary:(NSDictionary *)dictionary;
2023-07-06 16:54:13 +08:00
2023-07-14 18:50:55 +08:00
/// 依据JSON对象初始化一个实例
/// @param json json 数据
+ (instancetype)modelWithJSON:(id)json;
2023-07-06 16:54:13 +08:00
2023-07-14 18:50:55 +08:00
///model 转字典
- (NSDictionary *)model2dictionary;
2023-07-06 16:54:13 +08:00
2023-07-14 18:50:55 +08:00
///转 json string
- (NSString *)toJSONString;
2023-07-06 16:54:13 +08:00
2023-07-14 18:50:55 +08:00
///转 json object
- (id)toJSONObject;
2023-07-06 16:54:13 +08:00
2023-07-14 18:50:55 +08:00
///扩展方法 按需索取 重写即可
///如果一个模型中 包含一个数组 数组中是另一个模型
+ (NSDictionary *)objectClassInArray;
///如果一个模型中需要字段映射的话 比如id -> ID name -> other.name
+ (NSDictionary *)replacedKeyFromPropertyName;
2023-07-06 16:54:13 +08:00
@end
NS_ASSUME_NONNULL_END