2010年4月25日日曜日

ViewController基本概念

ViewControllerは、様々なビューをコントロールするためiPhone開発における以下の重要な役割を持ちます。
  • 画面が小さく、複数の画面に分散させる
  • 複数の画面を適切なタイミングで表示/非表示させる
そのため、この概念について予め把握しておく必要があります。

◆ViewControllerの種類
  • カスタムViewController:画面のタイプ毎にデータの型を変換(マーシャリング)し、表示を個別に管理するViewコントローラを作成する必要がある。
  • コンテナViewController : 他のViewControllerを管理する。Navigation ControllerTabBarControllerが該当する。システムが提供するものをそのまま使用する。
  • モーダルViewController : コンテナViewControllerと異なり、ユーザがView間の関係を定義する。あるViewControllerから表示される補助的なViewControllerで、呼び出されたあと呼び出したViewControllerに値を返す。
◆カスタムViewControllerの作り方
  • UIViewControllerから直接サブクラスを作成する
  • 直接コントロールするビューに対応するデータ等のインスタンス変数を宣言する。
  • やりとりが必要なビューオブジェクトを指すインスタンス変数を宣言する(アウトレット)<... どうも最近ではプロパティとして宣言するようです>。
  • 追加の動作に必要なメソッドを追加する。
  • 他から受けるアクションに必要なメソッドを追加する(アクション
   なお、アウトレット宣言は、IBOutletのみで宣言するのではなく、@property (nonatomic, retain) IBOutlet とするそうです。詳しくは、Appleの「Objective-C 2.0 プログラミング言語」に記載されているそうです。
----------------------------------------------------------------------------------
#import <  UIKit/UIKit.h >

@interface button_FunViewController : UIViewController {
   UILabel *statusText ;
}
@property (nonatomic, retain) IBOutlet UILabel *statusText ;
  - (IBAction) buttonPressed:(id)sender ;
@end
----------------------------------------------------------------------------------
    ◆共通するメソッド(UIViewController)
    • ビューの管理、インターフェイスの向きの管理、メモリ不足の警告等が含まれる。
      • ビューの管理では、一画面分のコンテンツを管理したり表示するための基本ロジックを提供する。
      • 一連のビューをプログラムの中で作成したり、nibファイルからロードしたりするためのワークフローを提供する。
      • メモリ管理では、メモリ不足状態の間は、これらのビューをメモリから削除し、後で必要になったときに再構築する処理を行う。
      • インターフェイスの向きの管理では、ユーザがデバイスを回転したときにインターフェイスの向きを変更する動作を提供する。
      • モーダルビューの基本機能として、現在のコンテンツの手前にほかのビューを一時的に表示する動作を提供する。
    • 必要に応じオーバライドして使用する。

    0 件のコメント:

    コメントを投稿