パッケージmx.core
インターフェイスpublic interface IDeferredInstance
実装者 DeferredInstanceFromClass, DeferredInstanceFromFunction

IDeferredInstance インターフェイスは、Flex 遅延インスタンスファクトリインターフェイスを定義します。IDeferredInstance を実装すると、getInstance() メソッドが最初に呼び出されたときに特定のインスタンス値が作成され、その後 getInstance() メソッドが呼び出されたときにその値への参照が返されます。

Flex コンパイラは、IDeferredInstance 型のプロパティに値を割り当てている MXML を検出すると、次の自動型変換を実行します。

  1. IDeferredInstance 型のプロパティに、コンポーネントタグなどのクラスを表す MXML 子タグの値を割り当てると、コンパイラは IDeferredInstance 実装を作成します。その getInstance() メソッドは、MXML コードの指定に従って設定されたそのクラスのインスタンスを返します。次の例はこの形式を示しています。この例で、MyComp は、IDeferredInstance タイプの myDeferredInstanceProperty という変数を持つカスタムコンポーネントです。コンパイラが作成する IDeferredInstance1 実装の getInstance() メソッドは、Label クラスのインスタンスを返します。そのテキストプロパティは「This is a deferred label」に設定されています。
              <MyComp>
                  <myDeferredInstanceProperty>
                      <Label text="This is a deferred label"/>
                  </myDeferredInstanceProperty>
              </MyComp>
  2. IDeferredInstance 型のプロパティにテキストストリングを割り当てると、コンパイラはそのストリングを完全修飾クラス名として解釈し、IDeferredInstance 実装を作成します。IDeferredInstance 実装の getInstance() メソッドは、指定されたクラスの新しいインスタンスを返します。指定されたクラスにはパラメータなしのコンストラクタを設定する必要があります。次の例はこの形式を示しています。この例でコンパイラが作成する IDeferredInstance1 実装の getInstance() メソッドは、MyClass クラスのインスタンスを返します。
              <MyComp myDeferredInstanceProperty="myPackage.MyClass/>

IDeferredInstance インターフェイスは、ActionScript クラスがプロパティ値のインスタンス化を保留する場合に使用します。ActionScript クラスが同じ値の複数のインスタンスを要求している場合は、IDeferredInstance は使用できません。そのような状況では、IFactory インターフェイスを使用します。

states.AddChild クラスには、IDeferredInstance 型の childFactory プロパティがあります。

関連項目

mx.states.AddChild
Implementing a template component


パブリックメソッド
 メソッド定義元
  
インスタンスがない場合は、クラスまたは関数からインスタンス Object を作成します。
IDeferredInstance
メソッドの詳細
getInstance()メソッド
public function getInstance():Object

インスタンスがない場合は、クラスまたは関数からインスタンス Object を作成します。

戻り値
Object — インスタンス Object。




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/core/IDeferredInstance.html