Restkit .20请求超时间隔

时间:2013-06-02 17:21:21

标签: ios objective-c timeout restkit

尝试在Restkit上设置请求超时间隔。

这篇文章提到了HTTClient,但HTTPClient似乎没有办法设置超时间隔。 Request timeout in restkit 0.20.0

有谁知道如何设置间隔?

2 个答案:

答案 0 :(得分:11)

无法直接访问它。您应该问为什么要设置自定义超时。

如果您确实需要更改它,则应该继承RKObjectManager并覆盖requestWithObject:。您的实现可以只调用super,然后编辑生成的可变请求。

答案 1 :(得分:9)

以下在RestKit 0.20.3中为我工作:我自己构建NSMutableRequest并在此请求上设置超时。遗憾的是,由于AFNetworking的政策不公开此属性,因此无法在RestKit 0.20.x中设置默认请求超时。

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];