2012-03-26 6 views
0

私はview1、view2、view3の3つのビューを持っています。ビュー2のデータを変更する問題があります。ナビゲーションコントローラスタックのビュー間でのデータ転送のベストプラクティス

  1. のビュー2はappdelegateから値を取得し、ビュー3から私はちょうどappdelegateでそれを更新し、それが
  2. の作品ナビゲーションコントローラのスタックを引き出し、iskindofテストでビューを識別し、変数を取り、
  3. それを変更
  4. 通知センターを使用してデータを変更します。

私の場合はデータを変更するためのアドバイス方法です。

データはオブジェクトの配列に値を設定するだけの変更です。 。

+1

[ビューコントローラ間で通信するにはどうすればよいですか?](http://stackoverflow.com/q/569940/194544) – beryllium

答えて

1

オプション(1)は、リファクタリングを行えば頭痛を与えるリスクが最も高いアプローチです。それはあまりにも厄介なことがありますので、間違いを犯してから修正するために時間を費やさなければなりません。これらの理由から、避けるのが最善の方法です。 (3)のために言うことがたくさんあなたが採用していない場合でも、UINotificationCenterを使用して、あります

(2)及び(3)カプセル化など、グローバルについてのイデオロギー論争を誘発する傾向の間の選択

グローバルが悪いと見なす。採用している通信プロトコルについて非常に明確に考えることを奨励し、アプリデリゲートの混乱を防ぎます。リファクタリングのために最も安定している傾向があります。

特に、うまく設計された通知を使用すると、リファクタリングしてコードを実行しても、コードを正しく実行できるようにすることができます。

関連する問題