包 | mx.core |
接口 | public interface IDeferredInstance |
实现器 | DeferredInstanceFromClass, DeferredInstanceFromFunction |
getInstance()
方法时创建一个特定实例值,并在随后调用 getInstance()
方法时返回对该值的引用。
当 Flex 编译器遇到为 IDeferredInstance 类型的属性分配值的 MXML 时,将执行以下自动强制操作:
getInstance()
方法返回类的一个实例,该实例按 MXML 代码中指定的内容进行配置。下例显示了这种格式;在本示例中,MyComp 是自定义组件,包含 IDeferredInstance 类型的名为 myDeferredInstanceProperty 的变量。编译器生成 IDeferredInstance1 实现,其 getInstance()
方法返回 Label 类的实例,其文本属性设置为“This is a deferred label”:
<MyComp> <myDeferredInstanceProperty> <Label text="This is a deferred label"/> </myDeferredInstanceProperty> </MyComp>
getInstance()
方法返回指定类的新实例。指定的类必须拥有不含参数的构造函数。下例显示了这种格式;在本示例中,编译器生成 IDeferredInstance1 实现,其 getInstance()
方法返回 MyClass 类的实例:
<MyComp myDeferredInstanceProperty="myPackage.MyClass/>
当 ActionScript 类延迟属性值的实例化时,使用 IDeferredInstance 接口。如果 ActionScript 类需要使用同一值的多个实例,则无法使用 IDeferredInstance。对于那些情况,请改用 IFactory 接口。
states.AddChild 类包含 IDeferredInstance 类型的 childFactory
属性。
另请参见
方法 | 定义方 | ||
---|---|---|---|
如果不存在实例,则基于类或函数创建实例 Object。 | IDeferredInstance |
getInstance | () | 方法 |