拿到服務(wù)器返回給我們的數(shù)據(jù)做相應(yīng)的處理顺饮,數(shù)據(jù)轉(zhuǎn)模型基本是每個(gè)移動(dòng)端程序員必需的工作。我第一次用JSONModel這個(gè)第三方框架處理數(shù)據(jù)誊册,返回的數(shù)據(jù)中有id關(guān)鍵字领突、description與NSObject自帶的description方法沖突暖璧。
A010C11F-1FE9-4D3E-A6E5-75D75E33FE4A.png
ps:
description方法是NSObject自帶的方法案怯,包括類方法和對(duì)象方法
- (NSString *)description; // 默認(rèn)返回 類名
- (NSString *)description; // 默認(rèn)返回 <類名:內(nèi)存地址>
默認(rèn)情況下利用NSLog和%@輸出對(duì)象的時(shí)返回的就是類名和內(nèi)存地址
為了不和系統(tǒng)的id關(guān)鍵字混淆,需要將id替換為其他字段澎办;為了正確輸出description的內(nèi)容嘲碱,也需要將其替換為其他字段。
我的model的.h文件:
typedef enum { bankChecking = 0,//審核中 bankCheckFail = 1,//審核失敗 bankCheckSuccess = 2,//已綁定}BankStatus;typedef enum { notDefault = 0,//否 isDefault = 1//是}BankCardIdDefault;typedef enum { chuxuCard = 0//卡類型:0-儲(chǔ)蓄卡}BankType;@interface DYBankCardModel : ASBaseDataModel@property (nonatomic, copy) NSString *openBank;//開戶行@property (nonatomic, copy) NSString *bankCardId;//銀行卡號(hào)@property (nonatomic, copy) NSString *bank_description;//描述@property (nonatomic, assign) BankCardIdDefault isDefault;//是否默認(rèn):0-否,1-是@property (nonatomic, copy) NSString *name;//卡主姓名@property (nonatomic, assign) BankStatus status;//狀態(tài)@property (nonatomic, assign) BankType type;//卡類型//銀行卡id--刪除銀行卡--提現(xiàn)用到@property (nonatomic, copy) NSString *bank_id;
解決方法:
在你的model的.m(實(shí)現(xiàn))文件中:
- (JSONKeyMapper *)keyMapper{ return [[JSONKeyMapper alloc] initWithDictionary:@{@"description" : @"bank_description", @"id" : @"bank_id"}];}