|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2005
Сообщений: 20
|
Проблема с массивом, помогите разобраться.
Имеется следующий код. Если в кратце - после загрузки внешнего xml функция записывает все данные из xml в массив. Каждый элемент массива -object.
После того как цикл выполнен, при обращении к любому из элементов массива возвращается значение последнего элемента. Почему? var arrCatalog:Array = new Array(); public function xmlColLoaded(e:Event) { var objCol:Object = new Object(); colors = XML(colorsLoader.data); for each(var prop:XML in colors.color) { objCol.id = prop.id; objCol.image = prop.image.toString(); objCol.items = new Array(); arrCatalog.push(objCol); // Здесь всё выводится нормально: img1.jpg img2.jpg ... img8.jpg) trace(arrCatalog.length-1,arrCatalog[arrCatalog.length-1].image); } for(var i=arrCatalog.length-1; i>=0;i--) { // А тут уже будет выведено 8 раз img8.jpg trace(arrCatalog[i].image); } } |
|
|||||
Иначе у Вас в массиве будет храниться ссылка 8 раз на один и тот же объект, свойства которого перетираются.
__________________
if (love is true) break my.heart; |
|
|||||
Регистрация: Dec 2005
Сообщений: 20
|
Спасибо, за ответ! Теперь всё работает )
А я-то думал, что в элемент массива записывается не ссылка на объект, а сам объект. |
|
|||||
Цитата:
1) new ComeClass() - создать новый объект 2) BitmapData.dispose() - удалить объект из памяти (работает только с BitmapData) Все остальные операции происходят со ссылками на объекты
__________________
...вселенская грусть |
Часовой пояс GMT +4, время: 12:37. |
|
« Предыдущая тема | Следующая тема » |
Теги |
array , AS3 , object , массив |
Опции темы | |
Опции просмотра | |
|
|