3

我正在尝试在我的应用程序中实现上传队列。我把我RKRequest的 s 放进去RKRequestQueue打电话[queue start]。但是,众所周知,网络连接不是永远持续的。我现在使用RKReachabilityObserver它来确定何时暂停和恢复我的队列,并且它工作正常(至少现在,但是我听说过 RestKit 中的可达性代码存在一些问题)。这让我可以停止发送新数据,直到网络再次可用。但是当网络连接丢失时,所有活动RKRequest的 s 都在发出- (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];
}

但我在EXC_BAD_ACCESS某个地方找到didFailLoadWithErrorRKRequest.

我的问题是:我怎样才能重新排队RKRequest

4

1 回答 1

1

而不是取消并添加到队列中,请执行以下操作:

[request send];

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

于 2012-04-10T20:23:56.063 回答