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

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

JSONModel-服务器返回的数据中有id|JSONModel-服务器返回的数据中有id,description等关键字
文章图片
A010C11F-1FE9-4D3E-A6E5-75D75E33FE4A.png
【JSONModel-服务器返回的数据中有id|JSONModel-服务器返回的数据中有id,description等关键字】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"}]; }

    推荐阅读