[英]Flex Declaration Order Bug
在Flex中,您可以使用UI元素的声明标签。
问题 :声明中的类顺序是升序排序或其他...
这意味着在此示例中,将在BClass之前实例化AClass:
<fx:Declarations>
<local:AClass />
<local:BClass />
</fx:Declarations>
但是在下一个示例中,即使BClass是第一个,AClass仍将在BClass之前实例化。 这是意外的行为,因为AClass可能依赖于BClass,但是将首先实例化,即使它以声明顺序出现在后面。
<fx:Declarations>
<local:BClass />
<local:AClass />
</fx:Declarations>
一类
public class AClass
{
public function AClass()
{
var _instance:Object = BClass.instance;
trace("AClass " + _instance);
}
}
和BClass
public class BClass
{
private static var _instance:Object;
public function BClass()
{
_instance = new Object();
trace("BClass " + _instance);
}
public static function get instance():Object{
return _instance;
}
}
我疯了吗?
我只是通过检查生成的动作脚本(使用-keep标志作为额外的编译器参数)进行了快速测试,并且声明的顺序似乎正确保留了。
您确定更改对象的顺序后进行了干净的编译吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.