web-dev-qa-db-ja.com

iOSアプリで使用されるMVCパターンについて

私はAppleのMVC 記事 を読みましたが、さまざまなことに混乱しています。まず、Appleは、ほとんどすべてのサンプルアプリケーションでビューとコントローラの組み合わせを使用していますが、これは問題ありませんが、この記事では矛盾しています。等.

私の主な質問は、誰もがAppleのサンプルiOSプロジェクトへのリンクを持っているかどうかです。これは、MVCパターンの良い例です。パターンのモデル部分を完全に理解していないため、データの取得などが含まれます。

「ドメインオブジェクト」とモデルオブジェクトの違いがわかりません。たとえば、注文のリストを取得したい場合、これはモデルクラスOrdersで発生します。次に、OrderDate、OrderNumberなどのプロパティを持つ別のクラスOrderを用意しますか、またはこれはどのように機能しますか?

22
TheLearner

この サンプルコード は、UITableViewをロードおよび表示するためのマルチステージアプローチを示しています。ダイビングするのは本当に面白いと思います。MVCが作品に表示されます。

12
Pierre Watelet

次に、Model-View-Controller(MVCとも呼ばれる)パターンがアプリの主要部分にどのようにマップされるかを示します。

モデル→データ

表示→ユーザーインターフェイス

コントローラー→コアロジック

これはサンプルコードで完全に説明します

http://www.hollance.com/2011/04/making-your-classes-talk-to-each-other-part-1/

enter image description here

7
codercat
  • modelはアプリケーションの頭脳です。それは計算を行い、ビューとコントローラーなしで生きることができるそれ自体のための仮想世界を作成します。つまり、モデルは、顔のないアプリケーションの仮想コピーと考えてください。

  • viewは、ユーザーがアプリケーションを操作するためのウィンドウです。ほとんどの場合、モデルの内部を表示しますが、それに加えて、ユーザーの操作を受け入れます。ユーザーとアプリケーション間の相互作用はビューに送信されます。ビューはビューコントローラーによってキャプチャされ、モデルに送信されます。

  • Controllers iOSプログラミングでは通常、ビューコントローラを指します。ビューコントローラは、モデルとビューの間の架け橋と考えることができます。一方の側で何が起こっているか(ユーザーがビュー側で行うこと、またはモデルによって提供される情報)を解釈し、その情報を使用して、必要に応じて他方の側を変更します。

5
Naman Vaishnav

これは私が出会った中で最高でありながら簡単な説明です(RayWenderlichからの引用)

「MVCの背後にあるアイデアは、
-VIEWSは、それらがどのように提示されるかについてのみ気にする必要があります。
-モデルはデータのみを気にする必要があります、
-とコントローラーは、内部構造についてあまり知らなくても、2人が結婚するように働く必要があります。」

3
Prabhav