Ios Restkit.20请求超时间隔

Ios Restkit.20请求超时间隔,ios,objective-c,timeout,restkit,Ios,Objective C,Timeout,Restkit,正在尝试在Restkit上设置请求超时间隔 这篇文章提到了HTTClient,但HTTPClient似乎没有设置超时间隔的方法 有人知道如何设置时间间隔吗?无法直接访问。您应该真正询问为什么要设置自定义超时 如果确实需要更改它,则应将其子类化为RKObjectManager,并覆盖requestWithObject:。您的实现只需调用super,然后编辑生成的可变请求。以下内容在RestKit 0.20.3中对我有效:我自己构造NSMutableRequest并设置此请求的超时。不幸的是,由于A

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

这篇文章提到了HTTClient,但HTTPClient似乎没有设置超时间隔的方法


有人知道如何设置时间间隔吗?

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


如果确实需要更改它,则应将其子类化为
RKObjectManager
,并覆盖
requestWithObject:
。您的实现只需调用super,然后编辑生成的可变请求。

以下内容在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];

我不在Restkit上使用requestWithObject。我使用[[RKObjectManager sharedManager]postObject….requestWithObject是否始终被调用为Restkit的基础?这意味着我的postObject调用最终是否使用requestWithObject。设置超时的原因是Heroku资源在特定时间未使用时进入睡眠状态。如果发生这种情况,我需要Restkit等待Heroku启动(20秒)。是的,它将作为postObject:的结果被调用,因为它是由几乎所有东西都调用的适当的ObjectRequestOperationWithObject:调用的。@Wain下面的注释是最好的答案,因为它将应用于RestKit的内置*Object:方法(即getObject:postObject:和putObject:)。