iOSプログラミングでの「ViewController」という名前は、MVCモデルで「View」と「Controller」の両方の単語が含まれているため、少し混乱します。「ViewController」は実際にはControllerの単なる別名です(ビューは実際にはほとんどがInterface Builderによって実行されるため)。なぜ「ビューコントローラ」と呼ばれるのですか?このコントローラーがすべてのビュープロパティの更新とイベント処理も行うためですか?
4 に答える
はい、UIViewController
MVCの「コントローラー」レイヤー内に住んでいます。ただし、ビューを制御および更新するのは特別なコントローラーです。ビューコントローラは、から派生するため、イベントを処理することもできますUIResponder
。
サブクラス化して一般的なコントローラを作成することもできますNSObject
。たとえば、アカウントなどを管理するアカウントコントローラー。実際には、iOSSDKに他のコントローラークラスがありますUIDocumentInteractionController
。
iOS View Controllerプログラミングガイドから:
iOSアプリケーションの場合、View Controllerは、アプリケーションのデータとその外観の間の重要なリンクを提供します。ビューコントローラをいつどのように使用するかを理解することは、iOSアプリケーションの設計にとって非常に重要です。ビューコントローラーは、Model-View-Controllerデザインパラダイムの従来のコントローラーオブジェクトですが、さらに多くのことを実行します。iOSアプリケーションでは、View Controllerは、基本的なアプリケーションの動作を管理するために必要なロジックの多くを提供します。たとえば、ビューコントローラは、画面の表示とコンテンツの削除を管理し、デバイスの向きの変更に応じてビューの向きを変更します。
「コントローラー」は、コントローラーであるものの後に続きます。椅子のコントローラーを作成する場合は、ChairControllerと呼びます。UIViewは制御されているので、UIViewControllerと呼ぶのは理にかなっていますか?ビュー自体は表示のみを担当しますが、表示する内容のロジックはコントローラー次第です。
Appleドキュメントから-http ://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html
UIViewControllerクラスは、すべてのiOSアプリに基本的なビュー管理モデルを提供します。
基本的に、これはビューのコンテナであり、ビューが行う視覚的な表示よりも多くのロジックを処理します。
必要に応じて、ビューコントローラ:
- ビューのサイズを変更してレイアウトします
- ビューの内容を調整します
- ユーザーがビューを操作するときに、ビューに代わって動作します
「ビューコントローラ」は「ビューを制御するクラス」として表示されます。
これは、古典的なModel View Controllerパターン(MVC)です。
AUIViewController
にはタイプのビューがあり、特定のコントローラーごとにビジネスオブジェクト(モデル)に応じてUIView
これを更新します。UIView
また、で発生したイベントは、適切に処理するためにUIView
に返送されます。UIViewController