0

アプリには、をインポートする2つのクラスGHHaiku(のサブクラスNSObject)とがあります。私はそのようにインスタンス化しました:GHViewControllerGHHaikuGHViewControllerGHHaiku

@property (nonatomic, strong) GHHaiku *ghhaiku;

したがって、からメソッドを呼び出す必要がある場合GHHaikuGHViewController、次のことができます。[self.ghhaiku callThisMethod];

GHHaikuただし、からの情報が必要な場合はどうすればよいかわかりませんGHViewController。たとえば、にがあり、のどのセグメントが選択されているかを知る必要があるメソッドUISegmentedControlがあります。この情報を取得するにはどうすればよいですか?でプロパティを作成してから、でそのプロパティに値を割り当てることができると思いますが、それは面倒で、これ以上エレガントな方法がないことは想像できません。GHViewControllerGHHaikuUISegmentedControlintGHHaikuGHViewControllerUISegmentedControl

だから私は何をすべきですか?

別のクラスによるメインビューコントローラープロパティの参照が私の質問に答える可能性があると思いますが、与えられた答えを理解するのに十分なほど進んでいません。)

4

1 に答える 1

1

これは、関心の分離について考え、 MVC(モデル/ビュー/コントローラー)ラインに沿って物事をより明確に分解することで恩恵を受ける可能性のあるアーキテクチャ上の問題です。CocoaのMVCコンピテンシーについてはこちらをご覧ください。

GHHaikuモデルオブジェクトですか?もしそうなら、それはビューレイヤーで起こっていることについて実際に「知っている」べきではありません。

于 2012-09-17T01:27:18.423 に答える