我正在尝试在我的应用程序中实现上传队列。我将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];
}
但是我在[{1}} EXC_BAD_ACCESS
方法的某个位置获得didFailLoadWithError
。
我的问题是:如何重新排列RKRequest
?
答案 0 :(得分:1)
不要取消和添加到队列,而是执行:
[request send];
但对此最好的解决方案是使用RKClient,它会让事情变得更容易。你不必担心排队。客户端带有RKRequestQueue的实例,并在幕后完成所有魔术,特别是它将为给定客户端配置的所有请求添加到客户端请求队列并为您分派它们。