|
|
Log In | Not a Member? |
Contact ADC |
| < Previous PageNext Page > |
オブジェクト構成はダイナミックなパターンであり、オブジェクトは、その構成要素である他のオブジェクトへの参照を何らかの方法で取得し、メッセージを送信できるようにする必要があります。一般に、このような他のオブジェクトはインスタンス変数として保持されます。インスタンス変数は、プログラム実行中のある時点で、適切な参照で初期化する必要があります。
アウトレットは、オブジェクトのインスタンス変数のようなものですが、参照の設定とアーカイブを、Interface Builderを通じて行います。オブジェクトとそのアウトレットの間の接続は、アウトレットを内包するオブジェクトがそのnibファイルから展開されるたびに確立されます。アウトレットを内包するオブジェクトは、アウトレットをIBOutletという型修飾子を付けてインスタンス変数として保持します。たとえば、次のようになります。
@interface AppController :NSObject |
{ |
IBOutlet NSArray *keywords; |
} |
アウトレットはインスタンス変数であるため、オブジェクトのカプセル化されたデータの一部になります。しかし、アウトレットは単なるインスタンス変数ではありません。オブジェクトとそのアウトレットの間の接続はnibファイルにアーカイブされます。nibファイルがロードされるときに、各接続がアンアーカイブされて維持されるため、他のオブジェクトにメッセージを送信する必要があるときにはいつでも利用できます。
型修飾子IBOutletは、開発中のInterface Builderアプリケーションがアウトレットの表示と接続をXcodeと同期できるようにするために、インスタンス変数の宣言に適用されるタグです。つまりカスタムオブジェクトのアウトレットを追加・接続したあとで、定義されたアウトレットを使ってヘッダファイルを生成できるということです。またはXcodeで、ヘッダファイルの中でアウトレットを宣言できます(IBOutlet修飾子を使用します)。Interface Builderはこのような新しい宣言を取得できるため、これらを接続し、接続情報をnibファイルに格納できます。Figure 5-1は、Interface Builderでアウトレットを接続する方法を示しています。
アプリケーションは、一般に、そのカスタムコントローラオブジェクトとユーザインターフェイス上のオブジェクトの間のアウトレット接続を設定しますが、これらの接続は、Interface Builderでインスタンスとして表現できる任意のオブジェクトの間で、たとえ2つのカスタムオブジェクトの間でも作成できます。インスタンス変数と同様に、それをクラスに含めることが正しいという根拠が必要です。オブジェクトのインスタンス変数が多いほど、より多くのメモリを占有するためです。オブジェクトを参照する別の方法がある場合、たとえば、行列のインデックス位置を通じての検索、関数パラメータとして含めることによる検索、タグの使用による検索などができる場合は、その方法を採用してください。
| < Previous PageNext Page > |
Last updated: 2006-05-23
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |