如何设置RESTKIT对象管理器的超时间隔
我正在使用 RESTKIT 对象管理器从我的服务器获取信息。我的实现代码片段如下:
-(void)getObjects
{
//Instantiate the RestKit Object Manager
RKObjectManager *sharedManager = [RKObjectManager sharedManager];
//show the spinner
[self showLoading];
//call server with the resourcepath
[sharedManager loadObjectsAtResourcePath:self.resourcePath delegate:self];
}
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects
{
// handling in scenarios of empty arrays
if ( [objects count]==0 ){
[self hideLoading];
if (emptyHandler){
emptyHandler();
}else{
[self standardEmptyHandling];
}
return;
}
// planned failure
if ( [[objects objectAtIndex:0] isKindOfClass:[Failure class]]){
NSAssert([objects count]==1,@"object returned is type failure, but there are more than one object in it");
failureObject=[objects objectAtIndex:0];
[self hideLoading];
[self standardErrorHandling];
return;
}
//return completion block to caller
completionHandler(objects);
}
但是,在某些情况下,可能存在服务器错误或可达性错误,这导致进程在终止之前继续尝试很长一段时间(旋转器将显示很长一段时间_。
是有没有办法在我的实现中设置超时持续时间,以便如果服务器在 20 秒内没有响应,我可以提示用户重试?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
RestKit 贡献者现已在此拉取请求中解决了这个问题 https://github.com/RestKit/RestKit /pull/491 可以轻松设置,如下所示:
This has now been resolved by RestKit contributors in this pull request https://github.com/RestKit/RestKit/pull/491 and can be set easily as follows:
Apple 的 默认超时 ="nofollow noreferrer">URL 请求 为 60 秒。
以下是有关 RestKit 中悬而未决问题的讨论:
http://groups.google .com/group/restkit/browse_thread/thread/8672eba8b1901f5d
A NSTimer 可能是一种简单的方法。
Apple's default timeout for URL requests is 60 secs.
Here is a discussion about the pending issue in RestKit:
http://groups.google.com/group/restkit/browse_thread/thread/8672eba8b1901f5d
A NSTimer could be an easy way around.