Имеется следующий код. Если в кратце - после загрузки внешнего xml функция записывает все данные из xml в массив. Каждый элемент массива -object.
После того как цикл выполнен, при обращении к любому из элементов массива возвращается значение последнего элемента.
Почему?

Код AS3:
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);
}
}