2012-05-11 11 views
6

NSURLConnectionで行われたHTTP要求はイベント駆動型です。これは、3つの要求を次々に発行する必要がある場合に、少しずつ変わってしまいます。各要求では、前の要求によって返された情報が使用されます。NSURLConnectionで一連のHTTP要求を送信する最も良い方法

私はこのようにそれをやってに慣れている:

response1 = request1(); 
response2 = request2(response1); 
response3 = request3(response2); 

しかし、私はNSURLConnectionでこれを行う方法を見つけることができる唯一の方法は、次の要求を行うconnectionDidFinishLoading:持つことです。しかし、連続したリクエストの数が増えると、これは乱雑になる可能性があります。

ココアでの順次HTTPリクエストを処理するための慣習的な方法は何ですか?

答えて

7

NSOperationで要求をラップし、操作の依存関係を定義することで、各要求が実行前に依存する要求を待機する必要があります。 Apple Docsから

依存関係は、特定の順序で操作を実行するための便利な方法です。 addDependency:およびremoveDependency:メソッドを使用して、操作の依存関係を追加および削除できます。既定では、依存関係を持つ操作オブジェクトは、そのすべての依存する操作オブジェクトの実行が完了するまで、準備完了とはみなされません。しかし、最後の従属オペレーションが終了すると、オペレーションオブジェクトは実行可能になり、実行することができる。

0

MKNetworkKitというサードパーティのライブラリを使用することをお勧めします。それはあなたのためのハードワークを処理することができますので、アプリケーションの重要な側面に集中することができます。あなたはそれを見つけることができますhere

関連する問題