iOS MJExtension框架解决模型中存在系统的关键字或方法名

本文介绍在iOS开发中,如何使用MJExtension库解决KVC方法在处理包含'id'字段的模型数据时的问题。通过实现特定方法或使用Block代码块,可以轻松地将'id'字段映射到模型的'ID'属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在实际开发过程中,我们时常会遇到接受到的模型数据中存在一个字段为id的键,然而,我们在设计模型时又不能使用id为属性变量。这时,我们就不能用KVC方法setValuesForKeysWithDictionary来快速进行字典转模型,通常我们只能对属性一一赋值,这样也是不可取的。这时,我们可以采用第三方来解决我们的这个问题。

在模型的.m文件中导入第三方
#import "MJExtension.h"
实现方法1:在模型的.m文件中实现MJExtension的一个方法
// 返回一个字典,左边为属性名,右边为数据名,下面就是 把返回的数据中id对于的数据赋值给模型的ID属性。
+(NSDictionary *)mj_replacedKeyFromPropertyName
{
    return @{
             @"ID":@"id"
             };
    
}
实现方法2:在字典转模型之前,通过Block代码块达到修改属性名的目的
//替换,直接使用模型类调用方法mj_setupReplacedKeyFromPropertyName
    [Model mj_setupReplacedKeyFromPropertyName:^NSDictionary *{
        return @{
                 @"ID":@"id"
                 };
    }];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值