有時候後臺json數據返回的欄位含有“id”,也有可能是有時候為了減少代碼的冗餘,兩頁面之間只是數據模型個別屬性的區別,所以這時候最好是用到模型屬性的替換,用新的屬性替換返回的json數據的欄位。這裡主要總結了兩種使用方法,都是在項目已經集成別人封裝好的解析json數據的庫的基礎上。 以常見Yima ...
有時候後臺json數據返回的欄位含有“id”,也有可能是有時候為了減少代碼的冗餘,兩頁面之間只是數據模型個別屬性的區別,所以這時候最好是用到模型屬性的替換,用新的屬性替換返回的json數據的欄位。這裡主要總結了兩種使用方法,都是在項目已經集成別人封裝好的解析json數據的庫的基礎上。
以常見YimaiMaterialsAddressModel模型為例,需要用addressId替換掉json數據裡面的id欄位
@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文件
#import "YimaiMaterialsAddressModel.h" @implementation YimaiMaterialsAddressModel + (NSDictionary *)replacedKeyFromPropertyName{ return @{@"addressId" : @"id"}; } @end
具體解析的使用方法
self.addressModel = [YimaiMaterialsAddressModel objectWithKeyValues:request.responseObject[@"data"]];
2.集成了YYKit,所以需要處理.m文件
#import "YimaiMaterialsAddressModel.h" @implementation YimaiMaterialsAddressModel + (NSDictionary *)modelCustomPropertyMapper { return @{@"addressId" : @"id"}; } @end
具體解析的使用方法
self.addressModel = [YimaiMaterialsAddressModel modelWithDictionary:request.responseObject[@"data"]];