ios - RestKit:在 RKRequestQueue 中重新排队 RKRequest

标签 ios network-programming restkit

我正在尝试在我的应用程序中实现上传队列。我将我的 RKRequest 放入 RKRequestQueue 并调用 [queue start]。但是,众所周知,网络连接不会永远持续下去。我现在正在使用 RKReachabilityObserver 来确定何时暂停和恢复我的队列,并且它工作正常(至少现在,但是我听说 RestKit 中的可达性代码存在一些问题)。这让我可以停止发送新数据,直到网络再次可用。但是当网络连接丢失时,所有事件的 RKRequest 都会发出 - (void)request:(RKRequest *)request didFailLoadWithError:(NSError *)error 我想,我将能够再次将我的 RKRequest 放回队列中。

所以,我尝试了这个:

- (void)request:(RKRequest *)request didFailLoadWithError:(NSError *)error
{
    NSLog(@"Request failed");
    [[request queue] cancelRequest:request];
    [[request queue] addRequest:request];
}

但是我在 RKRequestdidFailLoadWithError 方法中的某个地方得到了一个 EXC_BAD_ACCESS

我的问题是:如何重新排队 RKRequest

最佳答案

不要取消和添加到队列,而是:

[request send];

但最好的解决方案实际上是使用 RKClient,它使事情变得更容易。您不必担心排队。客户端带有 RKRequestQueue 实例并在幕后完成所有魔术,特别是它将为给定客户端配置的所有请求添加到客户端请求队列并为您分派(dispatch)它们。

关于ios - RestKit:在 RKRequestQueue 中重新排队 RKRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10086179/

相关文章:

iphone - 如何在 NSArray 中获取索引?

ios - 在单独的类中调用 UIButton

ios - 如何从 PARSE.com 中的 PFquery 获取 NSArray 的 objectId

c - Linux C 网络通信程序在调试器中有效,但在外部无效

ios - 如何使用restkit在http header 中发送一些数据

objective-c - GTMOAuth 的 FatSecret REST KIT 问题

ios - ImageView循环动画

c++ - Qt。如何使用QtNetwork查看网络上的其他电脑?

java - 为什么我的应用程序在尝试建立 http 连接时不断崩溃?

iphone - iOS 上除了 Restkit 之外的简单 Restful 框架/客户端?