https://github.com/RestKit/RestKit/wiki/Object-mappingなどの利用可能なドキュメントを調べましたが、GET の結果をマップするための説明や例を見つけることができませんでした
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects
(NSArray*)objects とは正確には何ですか?
サーバーから JSON オブジェクトを 1 つだけ返すと、次のようにマップできました。
NSString *bodyResults;
bodyResults = [[objectLoader response] bodyAsString];
NSDictionary *resultsDictionary = [bodyResults objectFromJSONString];
NSString *subject = [resultsDictionary objectForKey:@"subject"];
しかし、JSON リスト (オブジェクトの選択) を返すようになったので、問題が発生しました。
get を送信する前に、オブジェクトをマップしています。
//提供マップ RKObjectMapping* OfferingMapping = [RKObjectMapping mappingForClass:[提供クラス]]; [offeringMapping mapKeyPath:@"categoryId" toAttribute:@"categoryId"]; [offeringMapping mapKeyPath:@"merchantId" toAttribute:@"merchantId"]; [offeringMapping mapKeyPath:@"name" toAttribute:@"name"]; [offeringMapping mapKeyPath:@"latitude" toAttribute:@"latitude"]; [offeringMapping mapKeyPath:@"longitude" toAttribute:@"longitude"];
[[RKObjectManager sharedManager].mappingProvider setMapping:offeringMapping forKeyPath:@"offering"];
double latitude = [(AppDelegate*)[[UIApplication sharedApplication] delegate] currentLatitude];
double longitude = [(AppDelegate*)[[UIApplication sharedApplication] delegate] currentLongitude];
NSString *latitudeString = [[NSNumber numberWithDouble:latitude] stringValue];
NSString *longitudeString = [[NSNumber numberWithDouble:longitude] stringValue];
NSDictionary *getParams = [NSDictionary dictionaryWithKeysAndObjects:
@"lat",latitudeString,
@"long",longitudeString,
nil];
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:[@"/merchantofferings" stringByAppendingQueryParameters:getParams] delegate:self];
ありがとう