JSONModel-服务器返回的数据中有id等关键字

475 阅读1分钟

拿到服务器返回给我们的数据做相应的处理,数据转模型基本是每个移动端程序员必需的工作。我第一次用JSONModel这个第三方框架处理数据,返回的数据中有id关键字、description与NSObject自带的description方法冲突。

A010C11F-1FE9-4D3E-A6E5-75D75E33FE4A.png

###ps: ####description方法是NSObject自带的方法,包括类方法和对象方法

+ (NSString *)description; // 默认返回 类名
- (NSString *)description; // 默认返回 <类名:内存地址>

####默认情况下利用NSLog和%@输出对象的时返回的就是类名和内存地址

为了不和系统的id关键字混淆,需要将id替换为其他字段;为了正确输出description的内容,也需要将其替换为其他字段。 ####我的model的.h文件:

typedef enum {
    bankChecking = 0,//审核中
    bankCheckFail = 1,//审核失败
    bankCheckSuccess = 2,//已绑定
}BankStatus;

typedef enum {
    notDefault = 0,//否
    isDefault = 1//是
}BankCardIdDefault;

typedef enum {
    chuxuCard = 0//卡类型:0-储蓄卡
}BankType;

@interface DYBankCardModel : ASBaseDataModel

@property (nonatomic, copy) NSString *openBank;//开户行
@property (nonatomic, copy) NSString *bankCardId;//银行卡号
@property (nonatomic, copy) NSString *bank_description;//描述
@property (nonatomic, assign) BankCardIdDefault isDefault;//是否默认:0-否,1-是
@property (nonatomic, copy) NSString *name;//卡主姓名
@property (nonatomic, assign) BankStatus status;//状态
@property (nonatomic, assign) BankType type;//卡类型
//银行卡id--删除银行卡--提现用到
@property (nonatomic, copy) NSString *bank_id;

####解决方法: ####在你的model的.m(实现)文件中:

+ (JSONKeyMapper *)keyMapper
{
    return [[JSONKeyMapper alloc] initWithDictionary:@{@"description" : @"bank_description", @"id" : @"bank_id"}];
}