2012-03-14 6 views
0

私はUIView Xをサブビューとして追加するUIViewControllerを持っています。私のXクラスから、UIViewController Aへのアクセスを取得することは可能ですか?UIViewからUIViewControllerを取得

+0

多分あなたはここでいくつかのインスピレーションを得ることができます:http://stackoverflow.com/questions/2367348/how-to-get-a-uiviewcontroller-from-a-uiview-via-code –

答えて

1

何かをハックすることはできますが、SDKには何もありません。正当な理由があります。

私はKurtに同意しますが、これは通常、参照を保持したいビューコントローラ自体であり、それによってビューへの参照が維持されることを追加します。 UIViewサブクラスのコード内のコードは、VCが所有しているかどうかに関わらず、また別のビューのサブビューにすぎません。その責任は自らの家を維持することです。ケース・イン・ポイントでは、iPhone用のビューを作成し、その後iPadに移植します。 iPhone固有のVCを参照する場合は、iPadタイプのVCに含めるときに、その機能すべてを除外するように努めなければなりません。

UIKitは抽象化のレイヤーで構築されています。 LoAパラダイムの1つの特徴は、レイヤーが一般的に他の兄弟レイヤーや以下のレイヤーと相互作用することです。しかし、レイヤーがより抽象的な概念を上向きに見る必要はない(または可能である)のが一般的です。 UIViewControllerとその変種は、UIKitでクラスが取得する抽象クラスです。彼らは食物連鎖の最上位にあり、他のクラスはその機能を消費しません。横向きまたは下向きのみを指すようにポインタを必要とすることは、循環参照を防ぐのにも役立ちます。

4

ココアにはアクセスできません。正直なところ、あなたがそれにアクセスしているなら、あなたはおそらくMVCのいくつかの値を違反しているでしょう。

関連する問題