9

iPhoneアプリケーション開発用のMVCデザインパターンについて、これまでいくつかのリソースを読んできました。しかし、私は1つの質問は、iPhone開発コンテキストでのMVCのモデル部分に関連しています。iPhone開発コンテキストのMVC

まず、私は、私はMVCの考えるものを言いたい

モデル:は、私たちは、アプリケーションのオブジェクトに関するしているデータに関連しています。例:列車シミュレータの適用より、シミュレーション上の各列車にはそれ自身の属性があり、列車モデルに保存されます。

コントローラ:は、UIの更新を制御するものです。それは列車のモデルへの参照を保持し、その特定の列車の表示を変更する場合は、モデルの変更をチェックします。また、UI入力をチェックしてModel内のデータを変更することができます。

表示:これはかなり明白です。表示はすべてUIViewに関するもので、画面に表示されます。今

enter image description here

、質問は...

んモデルはモデルとして考えることへの持続的である必要がありますか?または私は に永続性のない変数を持つクラスを持つことができます。任意の入力のための

おかげで....その は、同様のモデルとして考えられるであろう、またはモデルはどこかCoreDataか.TXTで ファイルなどのように格納する必要があります!

答えて

7

モデルはモデルと見なされるために永続的でなければなりませんか?

コントローラーがサポートしている限り、その内容は異なる場合があります。

CoreDataか.TXTに全然

ファイルのようなモデルはどこかに保存する必要があります。

該当する場合は、任意のモデルを使用できます。モデルはあなたの実際のロジック/データベース/ネットワークアクセス/ blablablaの単なる抽象です...

+0

ありがとう、短くて甘い! – doNotCheckMyBlog

3

いいえ、MVCの背後にあるアイデアは、通常はデータベースに関係しません。モデルは単にすべてのビジネスロジックをキャプチャする必要があります。電卓を構築する場合は、表示が表示され、ボタンとモデルは、加算と減算の方法を知っているコードの一部です。コントローラは、2つを連結するものです。持続性は伴いません。

3

いいえ、モデルは永続的である必要はありません。

プロジェクトを開始する良い方法は、単純化のために非永続モデルを使用することです。次に、モデルを永続的に変更する場合は、モデルの詳細を認識しないようにインターフェイスを設計するため、ビューまたはコントローラを変更する必要はありません。

モデルを永続化するときにコアデータを使用する予定がある場合は、実際にはそれがiPhoneの素晴らしいアイデアではありません。コアデータでは、少し違う方法でクラスを設計する必要があります。モデルを変更するときに、ビューとコントローラのコードに多くの変更を加える必要はありませんが、モデルに多くのコードを変更する必要があります。コアデータを使用することがわかっている場合は、すぐに開始することをお勧めします。