|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Sep 2012
Сообщений: 26
|
как скопировать все ЗНАЧЕНИЯ Vector.<T>
Здравствуйте. Как скопировать все значения Vector.<Face> (причём Face-класс. в котором главный атрибут Vector.<Point>). Мне нужно именно скопировать значения, а не ссылки. Чтобы изменения сделанные в скопированном векторе не затрагивали оригинала.
|
|
|||||
[+4 08.09.13]
Регистрация: May 2012
Сообщений: 131
|
|
|
|||||
автоматически сделать этого невозможно
вам нужно в цикле пройтись по всем элементам вектора и создать клон каждого Face, занося эти клоны в новый вектор ну и клонируя Face тоже нужно в цикле клонировать Point-ы будь у вас там вместо Face и Point нетипизированные object-ы можно было бы клонировать так public static function cloneVanillaObject( obj:Object ):Object{ var ba:ByteArray = new ByteArray(); ba.writeObject( obj ); ba.position = 0; return ba.readObject() as Object; } @Frost47rus там вектор векторов, поэтому вместо строчки нужен еще один цикл
__________________
Хороший отдых - половина работы. |
|
|||||
Регистрация: Sep 2012
Сообщений: 26
|
спасибо. Жаль что другого варианта нет
|
|
|||||
впрочем можно похимичить с клонирование через 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
__________________
Хороший отдых - половина работы. |
|
|||||
Регистрация: Sep 2012
Сообщений: 26
|
пошёл в обходную. Решил не заморачиваться с копированием, а на этапе заполнения вектора значениями заносить их в копию.
|
|
|||||
Нормально будет себя вести, естественно, для невизуальных объектов реализующих IExternalizable.
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Можно поподробнее, как ты это определил? Почему IExternalizable?
__________________
Нормально делай — нормально будет! |
|
|||||
1. На практике.
2. Потому, что объекты должны уметь себя сериализовать/десериализовать, что бы нормально и контролируемо восстановить свое состояние. http://help.adobe.com/ru_RU/FlashPla...nalizable.html
__________________
משיח לא בא משיח גם לא מטלפן |
Часовой пояс GMT +4, время: 16:30. |
|
« Предыдущая тема | Следующая тема » |
Теги |
AS 3 , Vector , скопировать значение , скопировать массив |
Опции темы | |
Опции просмотра | |
|
|