Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   определение изменения xml (http://www.flasher.ru/forum/showthread.php?t=183430)

Evgan 21.08.2012 14:12

определение изменения xml
 
Приветствую.

Суть:
Имеется перезаписываемое свойство типа :XML.
В соответствии с ним происходит отрисовка визуализационного объекта.
Получается, что каждый раз когда происходит переопределение этого XML, следовательно и запускается перерисовка объекта. Но очень часто возникает ситуация что xml изменяется на точно такой же и надобно ставить проверку, да бы лишний раз не "напрягать" систему.

Потому у меня вопрос о корректности следующего кода:
Код AS3:

public function get myXML ():XML {return this._myXML;}        
public function set myXML(value:XML):void {
    if(value != this.myXML){
          this._myXML  = value ;
          this.redraw(value)
    }
}


Krusty 21.08.2012 14:16

Объект равен только самому себе. Объекты сравниваются по ссылкам. В переменных, где ссылки на объекты, проверяется, ссылки ли это на один и тот же объект. Если нет(очевидно, нет), то это всегда false.

КорДум 21.08.2012 14:19

Код AS3:

public function get myXML ():XML {return this._myXML;}        
public function set myXML(value:XML):void {
    if (value.toXMLString() != _myXML.toXMLString()){
        _myXML  = value;
        redraw(value)
    }
}


Evgan 21.08.2012 15:44

Цитата:

Сообщение от КорДум (Сообщение 1093161)
Код AS3:

public function get myXML ():XML {return this._myXML;}        
public function set myXML(value:XML):void {
    if (value.toXMLString() != _myXML.toXMLString()){
        _myXML  = value;
        redraw(value)
    }
}


Спасибо, попробую.


Часовой пояс GMT +4, время: 09:13.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.