2013-06-02 17 views

Odpowiedz

11

Nie ma bezpośredniego dostępu do niego. Powinieneś naprawdę zapytać, dlaczego chcesz ustawić niestandardowy limit czasu.

Jeśli trzeba to zmienić, należy podklasę RKObjectManager zastąpić requestWithObject:. Twoja implementacja może po prostu zadzwonić super, a następnie edytować wynikowe zmienne żądanie.

+0

Nie używam requestWithObject w witrynie Restkit. Używam [[ROMbjectManager sharedManager] postObject .... Czy requestWithObject jest zawsze wywoływany jako baza Restkit? Znaczenie to, że moje wywołanie postObject ostatecznie używa requestWithObject. Powodem ustawiania limitu czasu są zasoby Heroku, gdy nie są używane przez określony czas. Jeśli tak się stanie, potrzebuję Restkit, aby poczekać, aż Heroku się rozkręci (20 sekund). – jdog

+0

Tak, zostanie wywołana w wyniku postObject: ponieważ jest wywoływana przez właściwość ObjectObjectRequestOperationWithObject: która jest wywoływana przez prawie wszystko. – Wain

8

Następujące pracował dla mnie w pakiecie RestKit 0.20.3: Sam konstruuję NSMutableRequest i ustawić limit czasu dla tego żądania. Niestety nie ma możliwości ustawienia domyślnego limitu czasu żądania w pakiecie RestKit 0.20.x ze względu na zasady AFNetworking, aby nie narazić tej właściwości.

NSMutableURLRequest *request = [objectManager requestWithObject:nil method:RKRequestMethodGET path:@"test.json" parameters:nil]; 

[request setTimeoutInterval:300]; // set the timeout for this request to 5 minutes 

RKManagedObjectRequestOperation *op = [[RKObjectManager sharedManager] managedObjectRequestOperationWithRequest:request managedObjectContext:[[[RKObjectManager sharedManager] managedObjectStore] mainQueueManagedObjectContext] success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 
    NSLog(@"Success, %d results loaded", [mappingResult count]); 
} failure:^(RKObjectRequestOperation *operation, NSError *error) { 
    NSLog(@"Fail"); 
}]; 

[[RKObjectManager sharedManager] enqueueObjectRequestOperation:op]; 
+1

@ Wain's komentarz poniżej jest lepszy z odpowiedzi, ponieważ będzie miał zastosowanie do wbudowanych funkcji * Object: Object (tj. GetObject: postObject: i putObject :). –

Powiązane problemy