有時候後臺json數據返回的字段含有「id」,也有多是有時候爲了減小代碼的冗餘,兩頁面之間只是數據模型個別屬性的區別,因此這時候最好是用到模型屬性的替換,用新的屬性替換返回的json數據的字段。這裏主要總結了兩種使用方法,都是在項目已經集成別人封裝好的解析json數據的庫的基礎上。json
以常見YimaiMaterialsAddressModel模型爲例,須要用addressId替換掉json數據裏面的id字段app
@interface YimaiMaterialsAddressModel : NSObject @property (nonatomic, copy) NSString *addressId; @property (nonatomic, copy) NSString *uname; @property (nonatomic, copy) NSString *mobile; @property (nonatomic, copy) NSString *province; @property (nonatomic, copy) NSString *city; @property (nonatomic, copy) NSString *county; @property (nonatomic, copy) NSString *address; @end
1.集成了MJExtension,因此須要處理下.m文件atom
#import "YimaiMaterialsAddressModel.h" @implementation YimaiMaterialsAddressModel + (NSDictionary *)replacedKeyFromPropertyName{ return @{@"addressId" : @"id"}; } @end
具體解析的使用方法spa
self.addressModel = [YimaiMaterialsAddressModel objectWithKeyValues:request.responseObject[@"data"]];
2.集成了YYKit,因此須要處理.m文件code
#import "YimaiMaterialsAddressModel.h" @implementation YimaiMaterialsAddressModel + (NSDictionary *)modelCustomPropertyMapper { return @{@"addressId" : @"id"}; } @end
具體解析的使用方法blog
self.addressModel = [YimaiMaterialsAddressModel modelWithDictionary:request.responseObject[@"data"]];