![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: May 2010
Сообщений: 12
|
Народ, столкнулся с такой проблемой:
В объекте объявлен массив public var nodes:Array; В теле он заполняется В этом же объекте есть функция, которая должна работать с копией этого массива, изменять эту копию и тд, объявляю внутри функции так: var nods:Array = nodes; при этом получается, что при изменении nods, изменяется и nodes, получается, что по сути в nods передается ссылка на nodes. Как этого избежать? |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Сделать копию, например так:
|
|
|||||
|
Регистрация: May 2010
Сообщений: 12
|
В массиве объекты, свойства которых и изменяются, такой способ не помог
|
|
|||||
|
Регистрация: May 2010
Сообщений: 12
|
К сожалению не помогает простое копирование массива, надо ещё как-то скопировать все объекты, которые являются элементами массива
|
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Примитивные типы присваиваются по значению, остальные - по ссылке. Если переменная сложного типа заносится в массив, то в массиве тоже только ссылка, ясен пень.
Универсального метода копирования обьекта любого типа - нет.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
Регистрация: May 2010
Сообщений: 12
|
Спасибо, понял, буду ковырять =)
|
|
|||||
|
может пригодится
http://flasher.ru/forum/showpost.php...8&postcount=14 |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|