2009年9月4日金曜日

iPhone:Xib/Nibファイル(その1)

[1]Xib/Nibファイルの役割
Xcode Interface Builderのファイルという意味ですが、伝統的にNibと呼ばれることが多いようです。
オブジェクトの状態を記録し、それを再現するためのファイルです。
Nibファイルには以下のような情報が記述されています。
  • どんなインスタンスを生成するか
  • インスタンスの持つ属性値
  • 他のインスタンスとの関連(Outlet、Action)
iPhoneアプリケーションは起動するときにNibファイルを読み込んでそこに書かれたインスタンスの状態を再現します。
NibファイルはUIApplicationかUIViewControllerのサブクラスによってロードされます。

[2]例:Window-Based Application Template
Window-Based Application Templateを用いてプロジェクトを新規作成した場合、以下のような構成になります。


・NibはMainWindow.xib一つだけです。
・UIApplicationがMainWindow.xibをロードします。これを、UIApplicationがMainWindow.xibのオーナーであるといいます。Interface BuilderでMainWindow.xibを開くと、UIApplicationはFile's Ownerと表現されています。
・MainWindow.xibは、図でグレーで示した領域のインスタンスの状態を記録しています。


[3]例:View-Based Application Template
View-Based Application Templateでプロジェクトを新規作成した場合は以下のような構成になります。


・Nibファイルは2つあります。
・MainWindow.XibのオーナーはUIApplicationです。
・XXXViewController.xibのオーナーはXXXViewControllerです。
・それぞれのNibファイルが、グレーで示した領域のインスタンスを状態を記録しています。

[4]例:View-Based Application Templateをもとに追加
View-Based Application Templateをもとに最も簡単なシングルビューアプリケーションを作成する場合、以下のようにします。


1.Interface BuilderでViewの中に部品を配置します
2.Interface Builderでそれぞれの部品の属性値を設定します
3.XCodeでXXXViewControllerにOutlet、Actionを定義し、Actionの処理を書きます
4.Interface BuilderでOutletやActionを接続する

1,2,4の成果はXXXViewController.xibに記録されています。

アプリケーションが起動と、まずUIApplicationがMainWindow.xibをロードし、次にXXXViewControllerがXXXViewController.xibをロードします。これで全部のインスタンスの生成と属性の設定が完了し、アプリケーションの起動プロセスが終了します。

0 件のコメント:

コメントを投稿