3

Objective-C(Cocoa/iPhone)で真のMVCを実装する正しい方法は、Interface Builderでビューを作成しないときです。Interface Builderを使用せずにobjective-Cで開発するときのMVC

プロジェクトでInterface Builderを使用していないときに、コードを構造化してMVCパターンの異なるコンポーネントを結合するにはどうすればよいですか?

答えて

0

通常、nibファイルの助けを借りずにビューを作成しようとすると、そのビューのコントローラのloadViewメソッドを実装する必要があります。

私の答えは、Vに関連するものはコントローラの実装でloadViewメソッドに行き、Cに関連する他のロジックはコントローラの実装の残りの部分に行きます。

+0

ありがとうございます。メソッドですべてのUIコンポーネントを作成する代わりに、別のクラスにViewをさらに分離したい場合は、UIViewから派生した別のクラスでこれを行うことをおすすめしますか? –

+0

@エムマヌエル:私は、分離されたモジュールを可能な限り分離しておくことについて懸念しています。しかし、一般的なプラクティスとして、UIViewのサブクラスをプログラム的に構築することに決めた場合、通常はそれを制御するコントローラーで行います。コードの再利用性をある程度軽減します。しかし、以下の配線アウトレットの作業時間を短縮し、メンテナンスを容易にします。 –

-2

通常、表示する要素のサブクラスを作成します。たとえば、initメソッドで設定したUITableViewです。このようにして、ViewControllerはそのインスタンスをデキューします。

0

これは本当に味の問題です:いくつかのビューコントローラには1つのビューしかないので、すべてのビューに対してUIViewのサブクラス化を行うことができます。私はviewControllerが画面を構成する複数のサブビューを管理し、UIViewのサブクラスは再利用性の面で意味があることを完全に承諾します。実際、viewControllerは複数のviewControllerを使用して、UINavigationContollerと同様にビューの別の分離部分を管理することも認めています。