2009-05-25 4 views
2

次はiPhoneアプリに関するものです。非同期リクエストからシングルトンへの応答をどのように受け取ることができますか?

シングルトンを使用して非同期URLリクエストを処理する必要があります。私はそれをカバーしているが、それが受信されたときに応答を送信する場所をシングルトンに伝える最良のコーディングの練習方法は何ですか?元々シングルトンと呼ばれていたクラスに返される必要があります。

応答を受け取ったときに呼び出す(呼び出し元クラスの)委譲メソッドとともに、呼び出し元クラスへのポインタをシングルトンに渡すことができますか?すべての

+0

非同期URLリクエストを呼び出す方法のコードスニペットも記述できますか?あなたがいつもデリゲートメソッドを受け取るユーザパラメータを渡すことができます。 – cocoafan

答えて

2

まず

おかげで、シングルトンは、通常は悪いデザインであり、これは正確にあなたがシングルトンを必要としないはずの状況のように見えます。 MiškoHeveryのSingletons are Pathological Liarsと彼のブログの他の記事を参照してください。 (これは傲慢に見えないので、シングルトンを取り除くことでおそらくあなたのデザインがより良くコーディングされやすくなるでしょう)

第2に、あなたの質問を正しく理解すれば、シングルトンに後に呼び出されるセレクタシングルトンはデータを受信します。あなたはどうなるデータのロードが完了した後

- (void) download: (NSURLRequest*) request andTell: (id) delegate to: (SEL) doThis; 

を次に:シングルトンクラスのAPIは、次のようになります

[delegate performSelector:doThis withObject:receivedData]; 

この質問に答えるのか?

+1

まさに私が探していた答えの種類、ありがとう。 –

関連する問題