2009-06-28 5 views
7
Xcodeの、ユーティリティアプリケーションテンプレートは、とのプロジェクトを作るには

ViewControllerとViewControllerのどちらに配置するコードを選択するには?

MAINVIEW、MainViewController

FlipsideView、FlipsideViewController

私のアプリでは、2つのビューがメインUIに対応し、設定画面。明らかに、私はメインのUIに反映され、設定を覚えておくためにディスクに保存しておきたい。私はその部分をする方法を知っています。

類似のアプリケーションのサンプルコードを見ているうちに、アクティブなコードのほとんどをビューに入れて、ViewControllerをスタブよりも少し残しているようですが、他の方法では逆の方法があります。

大部分の機能をどこに配置するかを決める際には、経験則がありますか?

答えて

2

あなたのアプリがメモリ不足の警告を受け取った場合、デフォルトの動作では、現在表示されていないビューはすべて破棄される可能性があります。これは、簡単に再作成できない状態情報があれば、それをあなたの視野に入れないほうがいいということです。

これは、機能の大部分が何をしているかによって異なります。ユーザーが作成した情報を保持している場合は、ビューコントローラ内にある必要があります。

2

MVC純粋主義者になりたい場合は、ビュー切り替えとイベント処理のようなものをコントローラに、ビュービルディングコードをビューに入れてください。

アプリ全体に一貫性がある場合は、ビューにいくつかのアプリロジックを配置しても問題ありません。

+0

私は、通常、ビュービルディングコードのみがビュークラスに属することに同意します。また、多くの場合、ビュービルドコードは不要です。したがって、ビュークラスを完全に取り除くことができます。 –

1

Model-view-controllerをカバーするStackOverflowにはいくつかの質問があります。たとえば、What goes into the "Controller" in "MVC"?を参照してください。

特定のシナリオでは、プリファレンス自体は、ユーザーのプリファレンスを追跡する一種のモデルです。これらの設定を保存してロードすることは、コントローラの義務です。これらの設定を表示し、ユーザーにそれらを変更する方法を与えることは、ビューの義務です。最後に、ユーザーがこれらのプリファレンスを変更すると、ビューはこれをコントローラーに報告します。これにより、モデルが適切に変更されます。

関連する問題