Mantle を使用して Sickbeard API からの応答をオブジェクトにマッピングしようとしていますが、次のように TVDB ID をキーとして使用するキー値ベースであるため、方法がわかりません。
"data": {
"71663": {
"air_by_date": 0,
"cache": {
"banner": 1,
"poster": 1
},
"language": "en",
"network": "FOX",
"next_ep_airdate": "2014-09-28",
"paused": 0,
"quality": "Any",
"show_name": "The Simpsons",
"status": "Continuing",
"tvdbid": 71663,
"tvrage_id": 6190,
"tvrage_name": "The Simpsons"
},
"72227": {
"air_by_date": 0,
"cache": {
"banner": 1,
"poster": 1
},
"language": "en",
"network": "CBS",
"next_ep_airdate": "",
"paused": 0,
"quality": "Any",
"show_name": "Two and a Half Men",
"status": "Continuing",
"tvdbid": 72227,
"tvrage_id": 6454,
"tvrage_name": "Two and a Half Men"
}
}
オブジェクトには、data
このようなオブジェクトの配列が含まれているだけでなく、一意の ID をキーとするオブジェクトが含まれているため、次のように定義さ[{"key": value},{"key": value}]
れたクラスにどのようにマップすればよいかわかりません。SBShow
#import <Foundation/Foundation.h>
#import <Mantle.h>
@interface SBShow : MTLModel <MTLJSONSerializing>
@property (nonatomic, strong) NSNumber *tvdbid;
@property (nonatomic, strong) NSString *showName;
@property (nonatomic, strong) NSString *network;
@property (nonatomic, strong) NSString *status;
@end
@implementation SBShow
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{@"showName": @"show_name"};
}
+ (NSValueTransformer *)dateJSONTransformer {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
return [MTLValueTransformer reversibleTransformerWithForwardBlock:^(NSString *str) {
return [formatter dateFromString:str];
} reverseBlock:^(NSDate *date) {
return [formatter stringFromDate:date];
}];
}
@end
どんな助けでも大歓迎です。