質問

私は基本的に(XMLで、多分JSON最終的には)APIから情報を取得しているiPhoneアプリを持っています。結果オブジェクトは、典型的には、ビューコントローラ(主テーブル)に表示されます。

ここでアーキテクチャは、今でます。

私は、リモートサーバーから別のオブジェクトをフェッチNSOperationクラスを持っています。これらNSOperationクラスのそれぞれは、最終的にはその後、これ以上の結果は得られていない方法を、彼らが解析されると結果のオブジェクトを反撃、とされるカスタムデリゲートメソッドがかかります。

:だから、代表者のためのプロトコルは次のようになります
(void) ObjectTypeResult:(ObjectType *)result;
(void) ObjectTypeNoMoreResults;

私は解決策がうまく機能だと思うが、私は周りのデリゲートプロトコルの束で終わるか、その後、私の見解コントローラは、これらすべてのデリゲートメソッドを実装する必要があります。私はそのこと悪いとは思わないが、私はよりよい設計に目を光らせて常にです。

だから、私は、デリゲートの使用を削除するNSNotificationsを使用して考えています。私は、通知のユーザ情報部分にオブジェクトが含まれており、受信したばかりのオブジェクトを投稿して、これ以上は用意されていない最後のイベントでした。その後、私はつのコントローラで複数のオブジェクトを使用する場合でも、すべてのデータを受信するために、各ビューコントローラ内の1つの方法を有することができる。†

だから、誰かが私と一緒に、各アプローチのいくつかの長所/短所を共有することができます。私はというし、デリゲートをイベントを使用するように私のコードをリファクタリング考えるべきでしょうか? 1は、特定の状況で、他の後、より良いですか?私のシナリオでは、私は本当に多分プロトコルベースの代表者が移動するための方法ですので、複数の場所で通知を受け取るために探していないよ。

ありがとうございます。

役に立ちましたか?

解決

実際には、あなたのデザインは、音が鳴ります。明確なココアのアプローチは、デリゲートを使用している、と多くの周りのオブジェクトを投げるには好ましいです。また、あなたのプロトコルを定義することは、この方法は、あなたのコードは非常に明確で理解しやすいことができます。すべてのすべて:

良い仕事を続けます
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top