Paket | mx.core |
Schnittstelle | public interface IDeferredInstance |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
getInstance()
-Methode einen bestimmten Intanzwert und gibt bei allen nachfolgenden Aufrufen der getInstance()
-Methode einen Verweis auf diesen Wert zurück.
Der Flex-Compiler führt die folgenden Coercions durch, wenn er MXML-Code feststellt, der einer Eigenschaft des Typs IDeferredInstance einen Wert zuweist:
- Wenn Sie einer Eigenschaft des Typs IDeferredInstance als Wert ein untergeordnetes MXML-Tag für eine Klasse zuweisen, z. B. ein Komponenten-Tag, erstellt der Compiler eine IDeferredInstance-Implementierung, deren
getInstance()
-Methode eine Instanz der Klasse zurückgibt, die entsprechend den Angaben im MXML-Code konfiguriert ist. Im folgenden Beispiel wird dieses Format veranschaulicht. Dabei entspricht MyComp einer benutzerdefinierten Komponente mit einer Variablen namens myDeferredInstanceProperty, die den Typ IDeferredInstance aufweist. Der Compiler generiert eine IDeferredInstance1-Implementierung derengetInstance()
-Methode eine Instanz der Label-Klasse mit der Texteigenschaft „This is a deferred label“ zurückgibt:<MyComp> <myDeferredInstanceProperty> <Label text="This is a deferred label"/> </myDeferredInstanceProperty> </MyComp>
- Wenn Sie einer Eigenschaft des Typs IDeferredInstance einen Textstring zuweisen, interpretiert der Compiler den String als vollständig qualifizierten Klassennamen und erstellt eine IDeferredInstance-Implementierung, deren
getInstance()
-Methode eine neue Instanz der angegebenen Klasse zurückgibt. Die angegebene Klasse muss einen Konstruktor ohne Argumente aufweisen. Im folgenden Beispiel wird dieses Format veranschaulicht. Dabei generiert der Compiler eine IDeferredInstance1-Implementierung, derengetInstance()
-Methode eine Instanz der MyClass-Klasse zurückgibt:<MyComp myDeferredInstanceProperty="myPackage.MyClass/>
Verwenden Sie die IDeferredInstance-Schnittstelle, wenn eine ActionScript-Klasse die Instanziierung eines Eigenschaftswerts zurückstellt. Sie können IDeferredInstance nicht verwenden, wenn die ActionScript-Klasse mehrere Instanzen mit dem gleichen Wert erfordert. Verwenden Sie in diesen Fällen die IFactory-Schnittstelle.
Die states.AddChild-Klassen enthält eine childFactory
-Eigenschaft des Typs IDeferredInstance.
Verwandte API-Elemente
Öffentliche Methoden
Methode | Definiert von | ||
---|---|---|---|
Erstellt ein Instanzobjekt von einer Klasse oder Funktion, wenn die Instanz noch nicht vorhanden ist. | IDeferredInstance |
Tue Jun 12 2018, 10:04 AM Z