Разница между validateProperties () и invalidateProperties () - PullRequest
2 голосов
/ 25 августа 2011

Может ли кто-нибудь рассказать мне о В чем разница между validateProperties() и invalidateProperties()?

Ответы [ 2 ]

6 голосов
/ 25 августа 2011

invalidateProperties :

Отмечает компонент таким образом, что его метод commitProperties () вызывается во время более позднего обновления экрана.

Инвалидация является полезным механизмом дляустранение дублирования работы путем задержки обработки изменений компонента до более позднего обновления экрана.Например, если вы хотите изменить цвет и размер текста, было бы расточительно обновить цвет сразу после его изменения, а затем обновить размер, когда он будет установлен.Более эффективно изменить оба свойства, а затем визуализировать текст с новым размером и цветом один раз.

Методы недействительности вызывают редко.Как правило, установка свойства для компонента автоматически вызывает соответствующий метод аннулирования.

validateProperties :

Используется логикой макета для проверки свойствкомпонента путем вызова метода commitProperties ().В общем случае подклассы должны переопределять метод commitProperties (), а не этот метод.

По сути, проверяйте вызовы commitProperties напрямую, в то время как invalidate ожидает следующего кадра, чтобы сделать это.Всегда используйте аннулировать.

1 голос
/ 25 августа 2011

От: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/IInvalidating.html#invalidateProperties%28%29

invalidateProperties ()

public function invalidateProperties():void

Языковая версия: ActionScript 3.0

Версия продукта: Flex 3

Версии времени выполнения: Flash Player 9, AIR 1.1

Вызов этого метода приводит к вызову метода компонента validateProperties() до отображения списка отображения .

...