PDA

Просмотр полной версии : Объект в массиве


Stajor
29.12.2009, 02:44
Продолжая свое изучения AS и FLEX, столкнулся еще с одно проблемой, не получаетса сохранить массив объектов

private var _controls:Array = new Array();
...
var firstButton = new firstButton();
var secondButton = new secondButton();

_controls['firstButton '] = firstButton ;
_controls['secondButton '] = secondButton ;


и еще вопрос по теме, если всетаки есть способ хранить объект в массиве, он будет хранить ссылку на объект или его копию?

udaaff
29.12.2009, 04:08
Сложные объекты передаются только по ссылке.
Объект Array предназначен для создания индексных массивов. Для ассоциативных массивов он тоже подходит, но также как и любой другой объект динамического класса. Т.е. логичнее использовать Object для этих целей.

Почему не получается сохранить, из приведенного кода не понятно.

Saulot
29.12.2009, 13:32
Или это очепятка, или у вас банально не проставлены типы.
Вместо:

var firstButton = new firstButton();
var secondButton = new secondButton();

Нужно:

var firstButton:firstButton = new firstButton();
var secondButton:secondButton = new secondButton();


Да, и не стоит называть переменные так же как классы. Может не работать.

alatar
29.12.2009, 18:17
Пишите название класса всегда с заглавной буквы (общепринятая практика), так и сами путаться не будете и других путать не станете.

Stajor
29.12.2009, 21:34
всем спасибо, разобрался