0

ビュー コントローラーがココア (obj-c) でどのように機能するかを示す図を誰かに見せてもらえますか。

私は彼らが私を混乱させているので、私はただ理解したいだけです

ありがとう!

4

2 に答える 2

4

UIViewController を図にまとめることはできないと思います。

具体的にどのような点でお困りですか?あるコントローラから別のコントローラへのナビゲーション? NavigationController のスタッキングの側面は? それとも、ViewController 内のルック アンド フィールの構造ですか?

質問は非常にオープンエンドなので、このサイトの単一のスレッドで回答できるとは思いません。iPhone プログラミングに関するスタンフォード クラスの講義 6 を紹介します。講義ノートと講義自体 (サンプル演習付き) は、http: //www.stanford.edu/class/cs193p/cgi-bin/index.phpにあります。

于 2009-05-08T22:21:09.243 に答える
3

スタンフォードリンクは素晴らしいリファレンスです。

通常、View Controller はアプリケーションに「接着剤」を提供します。モデルからデータを取得/処理し、それをビューに渡す必要があります。ほとんどすべてのアプリケーション ロジックは、View Controller 内にあります。

次のテキストは、Apple の Cocoa Fundamentals Guide からのものです。

モデルをビューに結び付けるコントローラー オブジェクト

コントローラ オブジェクトは、アプリケーションのビュー オブジェクトとそのモデル オブジェクトの間の仲介者として機能します。コントローラは、ビューが表示する必要があるモデル オブジェクトにアクセスできるようにすることを担当し、ビューがモデルの変更を学習するためのパイプとして機能します。コントローラー オブジェクトは、アプリケーションのセットアップおよび調整タスクを実行し、他のオブジェクトのライフ サイクルを管理することもできます。

典型的な Cocoa MVC 設計では、ユーザーがビュー オブジェクトを介して値を入力するか選択を示すと、その値または選択がコントローラー オブジェクトに伝達されます。コントローラー オブジェクトは、アプリケーション固有の方法でユーザー入力を解釈し、モデル オブジェクトにこの入力をどうするかを伝えることができます。たとえば、「新しい値を追加する」または「現在のレコードを削除する」などです。または、モデル オブジェクトがそのプロパティの 1 つで変更された値を反映している可能性があります。この同じユーザー入力に基づいて、一部のコントローラー オブジェクトは、ビュー オブジェクトに対して、ボタンを無効にするなど、外観や動作の側面を変更するように指示する場合もあります。逆に、モデル オブジェクトが変更された場合 (たとえば、新しいデータ ソースがアクセスされた場合)、モデル オブジェクトは通常、その変更をコントローラー オブジェクトに伝達します。

コントローラー オブジェクトは、一般的な型に応じて、再利用可能または再利用不可のいずれかになります。「Cocoa コントローラ オブジェクトのタイプ」では、Cocoa のさまざまなタイプのコントローラ オブジェクトについて説明します。

関連する図は、モデル、ビュー、およびコントローラー間の関係です (これもアップルの厚意による):

MVC ダイアグラム http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/CocoaFundamentals/Art/cocoa_mvc.gif

于 2009-05-08T23:33:52.657 に答える