MJExtension使用注意

 1、** dict- model 

  NSDictionary* dict=@{@"username":@"小邓"};
  User* user= [User mj_objectWithKeyValues:dict];  

2、** array<dict> -  array<model>

 NSArray<XMGTopic *> *moreTopics = [XMGTopic mj_objectArrayWithKeyValuesArray:responseObject[@"list"]];

  3、 ** 如果是当实体中有Array的时候,必须说明: .h中:

@interface XMGTopic : NSObject
      /** 最热评论 */
    @property (nonatomic, strong) NSArray<XMGComment*> *top_cmt;
    @end
  .m中: 
   @implementation XMGTopic : NSObject
   +(NSDictionary *)mj_objectClassInArray{  

/***  如果NSArray中需要执行模型,那么必须重写   mj_objectClassInArray 方法,告诉Mj-Extension Array对应模型,

有多个,可以写多个 **/

            return @{@"top_cmt":[XMGComment class]};   
    }  
    @end

如果不说明,那么 实体类中的 模型不能转化 为  模型, 使用dict读取

@interface XMGTopic : NSObject
@property(nonatomic,copy) NSString* name;

@property(nonatomic,assign) NSInteger cai;

@property(nonatomic,strong) NSArray* top_cmt;
@end

  // 读取实体类模型数据
 // ios 不能一次性彻底转化, 拿到NSArray以后获取字典在继续转化
if(self.top_cmt.count){
// 返回字典
	 NSDictionary* dict= topics.top_cmt.firstObject;
}

   4、   ** 如果是实体类中有实体类,那么不用说明

   5、  模型属性名和字典key不对应:   

@implementation User
+(NSDictionary *)replacedKeyFromPropertyName
{
    
    // 格式: 模型属性 = 字典key
    return @{
             @"username1":@"username"
             };
}
@end

6、如果有的时候避免模型污染

在 viewDidLoad{}中: 
  // 实体类属性名和字典不对应
    [User mj_setupReplacedKeyFromPropertyName:^NSDictionary *{
        return @{
                 @"username1":@"username"
                 };
    }];
    // 实体类中有Array
    [User mj_setupObjectClassInArray:^NSDictionary *{
       return @{
                @"top_cmt":[XMGComment class]
                };
    }];

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值