1

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 に送信してデータソースにする前に、これらの各メソッドを呼び出します。

どんな助けでも大歓迎です。

4

2 に答える 2