シングルトンの使用に関する賛否両論について読んだことがあります。シングルトンを使用すべきかどうかわからないシナリオがあります。私はあなたたちに相談すると思った。シングルトンを使用すべきですか - サーバーとのHttp接続 - iPhoneのアプリケーションデザイン
ログインしているユーザーに関するサーバー(HTTP)情報と一度に通信する必要のあるiPhoneアプリケーションを作成しています。 このWebサービスは、アプリケーションのさまざまな部分から呼び出されています。 - HTTP設定を担当し、URL、ヘッダ、パラメータおよびその他
2.classesサーバーとの通信を担当
- :私は実際に必要なもの
は、クラスの2種類ですexponale UpdateUserInfo ClassまたはSendResultsクラスのWebサービスAPIの各タイプに対応します。このc
2番目のクラスは1番目を使用し、すべてのアプリケーションで2番目のクラスに多くの呼び出しが必要になります。
いずれにもシングルトンを使用すべきですか?それを設計する最良の方法は何ですか?
ありがとうございました!
編集:第一クラスの
例(のはDataDownloaderそれを呼びましょう)メソッドは次のようになります。
(NSData *) downloadDataWithRequest:(NSURLRequest *) { ASIHTTPRequest *dlRequest = [[ASIHTTPRequest alloc] initWithURL:[request URL]]; [dlRequest setTimeOutSeconds:20]; if(retryNum < 1) retryNum = 1; [dlRequest setNumberOfTimesToRetryOnTimeout:retryNum]; // and more of the same }
ASIHTTPRequestたちはHTTPラッパーとして使用しているものです。
サーバーのHTTPリクエストを送信するたびにこの一連の関数を呼びたくないので、そのオプションを専用のクラスに入れて新しいインスタンスを作成するか、またはsingletion 。私は例のために何ができるか
そのような何かを使用している:PARAM情報を使用してNSURLRequestを設定し、今
[[DataDownloader sharedInstance] downloadDataWithRequest:InfoUrlRequest]
を呼び出し、想定して実装することができ
[[UpdateUserInfo sharedInstance] updateInfo:info]
httpリクエストは非同期ですが、私はまだ複数のセッションを同時に起動できます。
今はっきりしていることを願っています。 これを設計する最良の方法は何と思いますか?
私の編集を参照してください。ありがとう – Idan