【发布时间】:2013-06-02 17:21:21
【问题描述】:
尝试在 Restkit 上设置请求超时间隔。
这篇文章提到了 HTTClient,但 HTTPClient 似乎没有办法设置超时间隔。 Request timeout in restkit 0.20.0
有人知道如何设置间隔吗?
【问题讨论】:
标签: ios objective-c timeout restkit
尝试在 Restkit 上设置请求超时间隔。
这篇文章提到了 HTTClient,但 HTTPClient 似乎没有办法设置超时间隔。 Request timeout in restkit 0.20.0
有人知道如何设置间隔吗?
【问题讨论】:
标签: ios objective-c timeout restkit
无法直接访问它。您真的应该问为什么要设置自定义超时。
如果您确实需要更改它,您应该继承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];
【讨论】: