0

2つのNSURLRequestを次々に実行しようとしています。2番目の要求は、最初の要求の結果に基づいています。私の最初のリクエストは正常に機能しています。デリゲートをselfに設定しましたが、リクエストが終了すると通知されます(connectionDidFinishLoadingメソッドで)。

私の質問は、2番目のリクエストをどのように実行し、それが完了したときに通知を受けることができるかということです。リクエストを処理する2番目のデリゲートを作成する必要がありますか、それともこれを処理する他の/より良い方法がありますか?

手伝ってくれてありがとう。

4

1 に答える 1

1

私が過去に行ったことは、NSURLConnection のデリゲートのコードを並行 NSOperation クラスにラップすることです。この抽象クラスは、接続とその状態の設定と管理におけるすべての作業を処理し、そのサブクラスは、接続が終了したときにデータに対して実際の作業を実行します。たとえば、スーパークラスはperformWork:(NSData *)data、サブクラスによってオーバーライドされるメソッドを呼び出し、結果のインスタンス変数を設定します。コントローラ クラスを使用して NSOperationQueue 内のオブジェクトを管理し、前の操作が終了したときに新しい操作を作成できます。このように、各リクエストは 1 つの管理可能な単位であり、リクエストは必ずしも相互に認識している必要はなく、コードをコピーして貼り付けて各接続を管理する必要はありません。

于 2010-02-10T17:36:27.830 に答える