2013-10-20 2 views
1

JSON 응답을받는 3 번의 별도의 reskit 요청을하려고합니다.enqueueBatchOfObjectRequestOperations가있는 RestKit

restkit enqueueBatchOfObjectRequestOperations 메소드를 구현하는 방법에 대한 명확한 답을 찾을 수 없습니다.

누구나 그것을 사용하는 몇 가지 샘플 코드가 있습니까?

내가 비슷한이 3 개 별도의 방법이 :이 방법의 3 개 별도의 버전이 각이 [self getSites]를 호출하여 viewDidLoad에서 전화를받을

- (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 개의 분리 된 연결을 위해 해결할 것이다. 그러나 그것을 허용하는 것처럼 보이지 않는다.

배열을 UIPickerView에 보내 데이터 소스로 보내기 전에이 메서드를 호출합니다.

도움을 주시면 감사하겠습니다.

+0

왜 구현할 예정입니까? 작업 집합을 전달해야합니다 ... – Wain

+0

내가 뭘하려고하는지 더 잘 반영하도록 질문을 편집했습니다. – layuso

+0

큐를 큐에 넣어야합니까? 현재는 모두 동시에 실행됩니다. – Wain

답변

0

개체 관리자를 사용하는 경우 가장 간단한 방법은 개체 관리자 (operationQueue)의 HTTPClient에서 NSOperationQueue을 가져 와서 최대 동시 작업 수를 설정하는 것입니다.

0

AFNetworking이 호출 된 매핑을 추가해야하고 pickerview 행에 표시 할 대상에 대한 작은 문제를 해결해야했습니다.