как скопировать все ЗНАЧЕНИЯ Vector.<T>
Здравствуйте. Как скопировать все значения Vector.<Face> (причём Face-класс. в котором главный атрибут Vector.<Point>). Мне нужно именно скопировать значения, а не ссылки. Чтобы изменения сделанные в скопированном векторе не затрагивали оригинала.
|
Код AS3:
|
Vector#slice() не подойдет?
|
автоматически сделать этого невозможно
вам нужно в цикле пройтись по всем элементам вектора и создать клон каждого Face, занося эти клоны в новый вектор ну и клонируя Face тоже нужно в цикле клонировать Point-ы будь у вас там вместо Face и Point нетипизированные object-ы можно было бы клонировать так Код AS3:
@Frost47rus там вектор векторов, поэтому вместо строчки Код:
face.attribute = MyVector[i].attribute; |
спасибо. Жаль что другого варианта нет
|
впрочем можно похимичить с клонирование через ByteArray и испльзуя registerClassAlias()
не знаю как оно будет вести себя с вложенными объектами Добавлено через 4 минуты советую копать вот в этом направлении http://www.rozengain.com/blog/2009/0...tionscript-30/ http://jafferhaider.wordpress.com/20...ctionscript-3/ https://github.com/as3/as3-utils/blo...bject/clone.as |
пошёл в обходную. Решил не заморачиваться с копированием, а на этапе заполнения вектора значениями заносить их в копию.
|
Цитата:
|
Цитата:
|
1. На практике.
2. Потому, что объекты должны уметь себя сериализовать/десериализовать, что бы нормально и контролируемо восстановить свое состояние. http://help.adobe.com/ru_RU/FlashPla...nalizable.html |
Часовой пояс GMT +4, время: 19:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.