我正在尝试在我的应用程序中实现上传队列。我将我的 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];
}
但是我在 RKRequest
的 didFailLoadWithError
方法中的某个地方得到了一个 EXC_BAD_ACCESS
。
我的问题是:如何重新排队 RKRequest
?
最佳答案
不要取消和添加到队列,而是:
[request send];
但最好的解决方案实际上是使用 RKClient,它使事情变得更容易。您不必担心排队。客户端带有 RKRequestQueue 实例并在幕后完成所有魔术,特别是它将为给定客户端配置的所有请求添加到客户端请求队列并为您分派(dispatch)它们。
关于ios - RestKit:在 RKRequestQueue 中重新排队 RKRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10086179/