JSON 応答を取得する 3 つの個別の reskit 要求を作成しようとしています。
レストキットの enqueueBatchOfObjectRequestOperations メソッドを実装する方法について明確な答えが見つかりません。
誰かがそれを使用するサンプルコードを持っていますか?
これに似た3つの別々の方法があります:
- (void)getRacks
{
RKObjectMapping *deviceRackMapping = [RKObjectMapping mappingForClass:[DeviceRack class]];
[deviceRackMapping addAttributeMappingsFromDictionary:@{
@"id": @"deviceRackID",
@"dataCenterID": @"data_center_id",
@"number": @"deviceRackNumber",
}];
//Mapping of nested data center object
RKObjectMapping *dataCenterMapping = [RKObjectMapping mappingForClass:[DataCenter class]];
[dataCenterMapping addAttributeMappingsFromDictionary:@{
@"id": @"dataCenterID",
@"name": @"dataCenterName",
@"shortname": @"dataCenterShortName",
}];
[deviceRackMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"data_center"
toKeyPath:@"dataCenter"
withMapping:dataCenterMapping]];
//Mapping of nested sites object
RKObjectMapping *siteMapping = [RKObjectMapping mappingForClass:[Site class]];
[siteMapping addAttributeMappingsFromDictionary:@{
@"id": @"siteID",
@"name": @"name",
@"shortname": @"shortName",
}];
[deviceRackMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"site"
toKeyPath:@"site"
withMapping:siteMapping]];
//Fetch array from JSON
RKObjectManager *objectManager3 = [RKObjectManager sharedManager];
[objectManager3 getObject:self.deviceRacksArray
path:[NSString stringWithFormat:@"/api/v1/device_racks"]
parameters:nil
success:^(RKObjectRequestOperation *operation3, RKMappingResult *mappingResult3)
{
self.deviceRacksArray = (NSArray *)[mappingResult3 array];
}
failure:^(RKObjectRequestOperation *operation3, NSError *error)
{
//errorMessageLabel.text = [error localizedDescription];
NSLog(@"Error: %@", [error localizedDescription]);
}];
}
私はこのメソッドの 3 つの別々のバージョンを持っており、それぞれがviewDidLoad
を呼び出すことによって呼び出さ[self getSites]
れます。問題は、リクエストをキューに入れなければならないことです。オブジェクト要求のバッチをいつどこでキューに入れる必要があるかを示すサンプル コードが見つかりません。私は 3 つの別々の接続で解決しますが、それは許可されていないようです。
配列を UIPickerView に送信してデータソースにする前に、これらの各メソッドを呼び出します。
どんな助けでも大歓迎です。