В Flex вы можете использовать тэги декларации для элементов, не относящихся к пользовательскому интерфейсу.
Проблема : Порядок классов внутри Декларации сортируется по возрастанию или что-то в этом роде ...
Это означает, что в этом примере AClass будет создан перед BClass:
<fx:Declarations>
<local:AClass />
<local:BClass />
</fx:Declarations>
Но в следующем примере AClass все еще будет создаваться перед BClass, даже если BClass является первым.Это неожиданное поведение, потому что AClass может зависеть от BClass, но сначала будет создан экземпляр, даже если это происходит позже в порядке объявления.
<fx:Declarations>
<local:BClass />
<local:AClass />
</fx:Declarations>
AClass
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;
}
}
Я сумасшедший?