2009-05-12 3 views
0

私はNSURLConnectionを使用するclassDownloadを持っています。私はすべてのNSURLConnectionイベントをclassDownloadに保持したいと思います。 ClassAはclassDownloadを使用するだけでなく、classDownloadでFinishと呼ばれるconnectionDidFinishLoadingなどの通知を受け取る必要があります。 classDownloadからClassAに通知するにはどうすればよいですか?通知用のプロトコルが必要ですか?

答えて

2

classDownloadNSURLConnectionの代理人であると仮定すると、デリゲートメソッドが呼び出されたときにイベントをブロードキャストするのに、NSNotificationCenterを使用できます。その後、classAでのイベントにサブスクライブし、addObserver:を使用します。説明やコードスニペットが必要な場合はお知らせください。

編集

直接あなたのタイトルで質問に答えるために、いいえ、あなたはNSNotificationCenterを使用してオブジェクトによって公開されたイベントをサブスクライブするプロトコルを必要としません。

+0

ありがとうございました。 NSNotificationCenterのnotificationSelector値はどこから来たのですか? – 4thSpace

+0

addObserverメソッドの意味ですか?これは、イベントが発生したときに渡すクラスで呼び出されるセレクタです。関数のシグネチャを@selector()にラップして取得します。たとえば、classAに1つのパラメータを取るdownloadFinishedというメソッドがある場合、addObserver:メソッド呼び出しに@selector(downloadFinished :)を渡します。 –

+0

ありがとうございます。私が何をしていても、ダウンロードするファイルを変えてもホームページをダウンロードし続けます。私はNSLog(@ "request%@:"、[request URL])を試しました。どのURLが接続で取得されるのかを確認しますが、コンソールに何も出力しません。何か提案はありますか? – 4thSpace

関連する問題