Почему установка свойства части скина, равного NULL, не выполняется автоматически?

Я создал пользовательский компонент и объявил часть скина:

[SkinPart (required="true")]
public var label:Label;

Во время инициализации компонента я установил label.text в 'foo':

protected function init():void {
    label.text = 'foo'; //This line fails silently
    bar();
}

Функция вызывается, когда метка равна нулю, и происходят странные вещи:

  1. label.text = 'foo'; происходит сбой молча: исключения не выдаются, консольное представление ничего не отображает.
  2. bar(); никогда не выполняется.

Я ожидаю, что приложение выдаст фатальную ошибку и выйдет, но это не так. Почему установка свойства нулевой ссылки автоматически завершается ошибкой?

Я читал об ошибках автоматической привязки данных здесь, но label.text = 'foo'; нет связать что-либо. SDK версии 4.6.


person hidarikani    schedule 23.04.2012    source источник
comment
Он не должен выходить из строя бесшумно. Это очень похоже на проглоченную ошибку привязки данных. Вы уверены, что где-то выше по цепочке не задействована привязка данных? (Не только внутри компонента; вероятно, привязка, которая вызывает инициализацию этого компонента).   -  person RIAstar    schedule 23.04.2012
comment
Поделитесь еще кодом! Когда запускается ваше событие init()? Вы уверены, что он выполняется? В жизненном цикле создания компонента отправляется множество событий; какой из них вы слушаете, чтобы запустить init? Ваш код инициализации находится в классе компонента или в классе скина? Вы знаете о методе partAdded()? В архитектуре Spark это подходящее место для установки начальных значений свойств.   -  person JeffryHouser    schedule 23.04.2012
comment
Похоже, это не имеет ничего общего с частями кожи, поэтому я создал новый вопрос . Я включил простой пример, который воспроизводит ошибку.   -  person hidarikani    schedule 24.04.2012