3

アプリケーションにアップロード キューを実装しようとしています。RKRequests を入れて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];
}

しかし、私はのEXC_BAD_ACCESSどこかでdidFailLoadWithErrorメソッドを取得していRKRequestます。

私の質問は次のとおりRKRequestです。

4

1 に答える 1

1

キャンセルしてキューに追加する代わりに、次のようにします。

[request send];

しかし、これに対する最善の解決策は、実際には RKClient を使用することです。これにより、作業が簡単になります。キューについて心配する必要はありません。クライアントには RKRequestQueue のインスタンスが付属しており、舞台裏ですべての魔法を実行します。具体的には、特定のクライアント用に構成されたすべてのリクエストをクライアントのリクエスト キューに追加し、それらをディスパッチします。

于 2012-04-10T20:23:56.063 に答える