iOS & macOS 开发 - 一个 mj_objectWithKeyValues 的崩溃


一、我的问题

日常使用 mj_objectArrayWithKeyValuesArray 来进行 字典-模型数组转化

NSArray *modelArray = [PropertyModel mj_objectArrayWithKeyValuesArray:dataArray];

程序崩溃了;


换成 mj_objectWithKeyValues 来一个个转换

PropertyModel *pModel = [PropertyModel mj_objectWithKeyValues:dict];

一样崩溃


二、原因

PropertyModel.h 中包含一个自定义的 description 属性;
而每个 NSObject 是自带 description 属性的,mj 转换的时候会去读用这个属性;所以造成崩溃。


三、解决方法

不要改mj,不要使用 description,可使用 Description;
如果后台返回字段为 description,在model.m 中对字段名进行转化:

+(NSDictionary *)replacedKeyFromPropertyName{
    return @{@"Description":@"description"};
}

转化多个字段,同理:

+(NSDictionary *)replacedKeyFromPropertyName{
    return @{@"Description":@"description",@"PID":@"_id"};
}

猜你喜欢

转载自blog.csdn.net/lovechris00/article/details/80495816