MJExtension icon indicating copy to clipboard operation
MJExtension copied to clipboard

父类、子类中都存在嵌套模型的数组,该如何处理

Open wv-y opened this issue 1 year ago • 1 comments

描述bug mj_objectClassInArray 只获取了当前类的配置,如果子类执行后,不会获取父类中的配置 image

目前我是这么处理的,是否还有其他办法呢?

@interface MyA : NSObject
@property (nonatomic, strong) NSArray *list;
@end

@implementation MyA

+ (NSDictionary *)mj_objectClassInArray {
    return @{
        @"list" : MyA.class
    };
}

@end


@interface MyB : MyA
@property (nonatomic, strong) NSArray *bList;
@end

@implementation MyB

+ (NSDictionary *)mj_objectClassInArray {
    NSDictionary *superDict = [super mj_objectClassInArray];
    NSMutableDictionary *dict = @{
        @"bList" : MyB.class
    }.mutableCopy;
    if (superDict) {
        [dict addEntriesFromDictionary:superDict];
    }
    return dict;
}

@end

wv-y avatar Aug 31 '23 06:08 wv-y

你应该这样做:

  1. 首先判断父类是否实现了 mj_objectClassInArray
  2. 然后将父类跟子类进行合并

wolfcon avatar Sep 11 '23 06:09 wolfcon