IOS开发,json数组通过MJExtension转实体,新增字段,然后将实体转为JSON

从后台请求一个类似数组的JSON,例如点餐,亦或者服务包之类的,页面上只是对次数,或者选中进行操作;然后将整个包,或者点餐字段原封不动的传给后台;

有的小伙伴会用到MJExtension  mj_objectArrayWithKeyValuesArray  把JSON数组转为模型数组;

问题:模型数组中,往往我们会新增一些字段,比如是否选中

@property(assign,nonatomic)BOOL packAgesSelectStaus;

@property(assign,nonatomic)NSInteger   FirstStatusNums;

等新增的字段,那上面FirstStatusNums举例,这个属性在init的时候会给他一个初始值,通过下面的方法:

+(NSDictionary *)mj_replacedKeyFromPropertyName{

  return @{@"itemFirstPrice":@"item_price",@"FirstStatusNums":@"item_limit_use"};

}

这样我们就实现了,在模型初始化的时候,就能够为新增的字段赋值,是不是有种还能这样做的想法?

问题就出现了,如果你用上面的方法去做,界面操作都没什么问题,但是最后将数据传给后台的时候,我们要把模型数组转为字典数组的时候,就会发现 你新增的哪些字段都没了,


而且返回的数据,和从后台请求的数据是一样的,并没有发生改变,比如后台给你的默认次数是5次,界面改为10次,但是在转的时候,返给的数据,还是5次;这就不符合需求;

正确的做法:

在请求接口里面,初始化我们新增的属性字段;

这样在模型数组转字典数组的时候,就不会出现上述的情况了;

你可能感兴趣的:(IOS开发,json数组通过MJExtension转实体,新增字段,然后将实体转为JSON)