パッケージ | mx.core |
インターフェイス | public interface IDeferredInstance |
言語バージョン: | ActionScript 3.0 |
製品バージョン: | Flex 3 |
ランタイムバージョン: | Flash Player 9, AIR 1.1 |
getInstance()
メソッドが最初に呼び出されたときに特定のインスタンス値が作成され、その後 getInstance()
メソッドが呼び出されたときにその値への参照が返されます。
Flex コンパイラーは、IDeferredInstance 型のプロパティに値を割り当てている MXML を検出すると、次の自動型変換を実行します。
- 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>
- IDeferredInstance 型のプロパティにテキストストリングを割り当てると、コンパイラーはそのストリングを完全修飾クラス名として解釈し、IDeferredInstance 実装を作成します。この IDeferredInstance 実装の
getInstance()
メソッドは、指定されたクラスの新しいインスタンスを返します。 指定されたクラスにはパラメーターなしのコンストラクターを設定する必要があります。 次の例はこの形式を示しています。この例でコンパイラーが作成する IDeferredInstance1 実装のgetInstance()
メソッドは、MyClass クラスのインスタンスを返します。<MyComp myDeferredInstanceProperty="myPackage.MyClass/>
IDeferredInstance インターフェイスは、ActionScript クラスがプロパティ値のインスタンス化を保留する場合に使用します。 ActionScript クラスが同じ値の複数のインスタンスを要求している場合は、IDeferredInstance は使用できません。そのような状況では、IFactory インターフェイスを使用します。
states.AddChild クラスには、IDeferredInstance 型の childFactory
プロパティがあります。
さらに例を参照
関連する API エレメント
パブリックメソッド
メソッド | 定義元 | ||
---|---|---|---|
インスタンスがない場合は、クラスまたは関数からインスタンス Object を作成します。 | IDeferredInstance |
Tue Jun 12 2018, 10:34 AM Z