![]() |
Как присваиваются переменные?
Народ, столкнулся с такой проблемой:
В объекте объявлен массив public var nodes:Array; В теле он заполняется В этом же объекте есть функция, которая должна работать с копией этого массива, изменять эту копию и тд, объявляю внутри функции так: var nods:Array = nodes; при этом получается, что при изменении nods, изменяется и nodes, получается, что по сути в nods передается ссылка на nodes. Как этого избежать? |
Сделать копию, например так:
Код AS3:
|
В массиве объекты, свойства которых и изменяются, такой способ не помог
|
копия массива
Код AS3:
|
К сожалению не помогает простое копирование массива, надо ещё как-то скопировать все объекты, которые являются элементами массива
|
Примитивные типы присваиваются по значению, остальные - по ссылке. Если переменная сложного типа заносится в массив, то в массиве тоже только ссылка, ясен пень.
Универсального метода копирования обьекта любого типа - нет. |
Спасибо, понял, буду ковырять =)
|
может пригодится
http://flasher.ru/forum/showpost.php...8&postcount=14 |
| Часовой пояс GMT +4, время: 08:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.