1

リクエストの送信、レスポンスのマッピングなどにrestkitを使用しています。しかし時々、私は異なる画面から来る同じリクエストを複数回送信しています。したがって、リクエストキューに追加されます。ただし、リクエストがすでに存在する場合は、リクエストをリクエストキューに追加したくありません。どうすれば確認できますか。

私はこのような関数を呼び出しています

//ここで、次のURLがRKRequestQueueにあるかどうかを確認する必要があります。そこにない場合は、以下のメソッドを呼び出します。

[self getDataFromServer];


- (void)getDataFromServer{
    RKObjectManager *manager = [[RestKit sharedDataManager] objectManager];

        [manager loadObjectsAtResourcePath:@"/getData" usingBlock:^(RKObjectLoader *loader) {
            [RKClient sharedClient].requestQueue.showsNetworkActivityIndicatorWhenBusy = YES;
            loader.method = RKRequestMethodPOST;
            loader.params = inputData;
            loader.onDidFailWithError = ^(NSError *error) {
     };

            loader.onDidLoadObjects = ^(NSArray *objects) {
    };
}

どんな助けでも大歓迎です。

4

1 に答える 1

0

興味深い質問ですが、RKRequestQueueでリクエストのURLを実際に確認できると確信していましたが、RKRequestQueueリファレンスでそのために役立つものを見つけることができませんでした。代わりに、containsRequest:メソッドを見つけましたが、これはRKRequestオブジェクトのみを比較し、実際のURLは比較しません。

最も簡単な方法は、ネットワークアクティビティを管理するためのある種のプロキシを作成し、requestQueue:didSendRequest:デリゲートメソッドを実装して、現在処理されているURLを監視することだと思います。

于 2013-02-19T10:34:47.727 に答える