2011-07-07 14 views
1

誰かが私のiPhoneアプリのmvcの基本を説明できますか?iphoneアプリのMVC

テンプレートクラスが表示されますが、どのように通信しますか?

UIViewはイベントをコントローラに送信しますか?モデルはイベントを送信しますか?

モデルはどのテンプレートファイルですか?ジェフ・アトウッドのエクセレントブログ「コーディング恐怖」から

答えて

0

モデルはビューに関係していない必要があります。初心者のための優れたデザインパターンの概要(MVCを含む)です。同じことがビューに当てはまります。モデルから分離して、実際に直接アクセスする必要はありません。ユーザーがモデルを参照したり操作したりするための情報を表示しているにもかかわらず、実際に直接アクセスする必要はありません。コントローラは、モデルとビューの中間として機能します。 モデルオブジェクトが変更されると

Appleの言葉で

は、「コントローラオブジェクトがビューオブジェクトで行われたユーザーアクションを解釈し、モデル層に新規または変更されたデータを通信する。、コントローラオブジェクトは、その通信します新しいモデルのデータをのオブジェクトに表示することができます。

+0

thx、すべての答えは、その広いトピックから、私のために役立っていた – mirzahat

0

:ソフトウェア エンジニアリングの他のすべてと同様に

は、それはそう、 モデル - ビュー - コントローラの概念はもともとSmalltalkのプログラマによって発明 ました。

具体的には、 Smalltalkプログラマ、Trygve Reenskaugによって発明されました。 Trygveは のMVCの履歴を説明するページ を自分の言葉で管理しています。彼は彼が 12月10日に公開した論文のこれらの 定義に到着します:

モデルモデルは知識を表します。 モデルは単一のオブジェクト(むしろ )であってもよいし、オブジェクトの構造体である であってもよい。一方、モデルの 所有者によって知覚される

モデルと一方 その部分、および 表さ世界との間の一対一の 対応があるはず。

ビュービューは、そのモデルの(表示) の表現です。 は通常、あるモデルの 属性を強調表示して、 その他を抑制します。したがって、プレゼンテーションフィルタ として機能します。

ビューは、そのモデル(または モデル部)に取り付けられ、質問をすることで モデルからプレゼンテーション用のデータ 必要を取得します。 も メッセージを送信してモデルを更新することがあります。これらのすべての 質問とメッセージは、モデルの用語で にある必要があります。ビュー は、それが表す モデルの属性の セマンティクスを知る必要があります。

コントローラコントローラは、ユーザとシステム間のリンク です。 は、ユーザに の入力を提供し、 への関連するビューを画面上の適切な の場所に配置します。 メニューやその他の手段を使用してユーザに を提示し、コマンドとデータを提供することにより、ユーザ出力のための手段を提供する。 コントローラは、そのようなユーザ出力を受信し、 を適切な メッセージに変換し、これらのメッセージを1つまたは複数のビューの に渡します。これを理解するために

最良の方法は、(iOSのプログラミング HIG の多くの中核となる概念のように)、Appleのドキュメントを読み、にそれを試してみることです。 Link

+0

私はReenskaugが1〜2時間引用しているのを見てきました。面白いことに、実際に明確にすることは決して助けられませんでしたが、MVCについての私の理解を実際に混乱させました。私は彼が言っていることを理解していますが、あなたが考えることができると思うような概念を明確にしていないと言われているように、ただの観察。 –

3

Paul Hegartyのスタンフォード大学シリーズ「iOS向けアプリケーションの開発(HD)」というタイトルのiTunesUを強くお勧めします。

レッスン1ではMVCについて説明し、レッスン2ではそれを示しています。

これらのレッスンは無料で、時間があれば見逃せないものです。