MJExtension属性名替换

之前使用MJExtension 就存在后台返回的数据和模型属性名不一样的情况。

比如description

后台要传这个字段,iOS是不允许定义这个名字的属性的。这时候就需要转换属性名。

网上的解决方法都不好用了。今天又遇上了。贴出来给大家看一下。

  [MenuData mj_setupReplacedKeyFromPropertyName:^NSDictionary *{

            return @{

                     @"des" : @"description"

                     };

        }];


此方法可以设置 menudata数据转换时,把字典里的 description 字段转换成model里的des属性。

需要注意一点

des不能为要使用的字段。也就是说如果description没有值,那么des就没有值了,即使后台同时给出了des值也没有效果.


因为是全局使用的 我推荐放入初始化方法里

#import "MenuData.h"

#import <MJExtension.h>


@implementation MenuData


- (instancetype)init{

    

    if (self=[super init]) {

        

        [MenuData mj_setupReplacedKeyFromPropertyName:^NSDictionary *{

            return @{

                     @"des" : @"description"

                     };

        }];

        

    }

    return self;

}


你可能感兴趣的:(ios,xcode,MJExtension,模型转换)