1

AFNetworking を使い始めたばかりで、enqueueBatchOfHTTPRequestOperations を使用して 3 つの AFJSONRequestOperation オブジェクトをまとめてバッチ処理するときに異常に遭遇しました。すべての AFJSONRequestOperation 完了ブロックが起動する前に、キューの completionBlock が起動することがあることがわかりました。いくつかの調査を行った後、これは AFJSONRequestOperation が応答データを JSON に解析することに関係しているようです。これは別のキューで行われ、解析が完了する前にリクエストがキューに報告されたことを意味します。

したがって、私の質問は、代わりに 3 つのリクエストに AFHTTPRequestOperation オブジェクトを使用し、リクエスト完了ブロック内で手動で JSON を解析できますか? これにより、すべてのリクエストが完了した後にのみキューの completionBlock が起動することが保証されますか?

4

1 に答える 1

1

AFJSONRequestOperation の代わりに AFHTTPRequestOperation を使用するようにコードを変更し、JSON を手動で解析しました。この数日間、新しいバージョンをテストしていました。問題が発生するのは一度も見たことがないので、すべてのリクエストが完了する前にキュー完了ブロックが起動するのは、AFJSONRequestOperation を使用している場合にのみ発生すると言っても過言ではありません。

于 2012-11-02T12:38:54.213 に答える