2014-10-28 63 views

回答

1

Restkit不提供此功能,但可以將其歸檔。

RKObjectRequestOperation類有兩個屬性successCallbackQueue & failureCallbackQueue,它們允許你設置回調隊列。覆蓋RKObjectManager類並返回RKObjectRequestOperation然後您可以設置回調隊列。

- (RKObjectRequestOperation *)getObjectsAtPath:(NSString *)path 
      parameters:(NSDictionary *)parameters 
      success:(void (^)(RKObjectRequestOperation *operation, RKMappingResult *mappingResult))success 
      failure:(void (^)(RKObjectRequestOperation *operation, NSError *error))failure 
{ 
    NSParameterAssert(path); 
    RKObjectRequestOperation *operation = [self appropriateObjectRequestOperationWithObject:nil method:RKRequestMethodGET path:path parameters:parameters]; 
    [operation setCompletionBlockWithSuccess:success failure:failure]; 
    [self enqueueObjectRequestOperation:operation]; 
    return operation; 
} 

那麼你可以設置回調隊列爲波紋管所示:

RKObjectManager *objectManager = [RKObjectManager sharedManager]; 
RKObjectRequestOperation *operation = [objectManager getObjectsAtPath:path 
        parameters:parameters 
         success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 

         } 
         failure:^(RKObjectRequestOperation *operation, NSError *error) { 

         }]; 

operation.successCallbackQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0); 
operation.failureCallbackQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0); 
相關問題