Вы имеете в виду, что он говорит вам, что длина равна 0, пока он находится внутри сеттера? (Здесь есть вызов Alert.show ().) Вам лучше поместить это в обработчик щелчков, а затем щелкнуть по нему, чтобы отладить.
В зависимости от того, что говорит остальная часть вашего кода, метод setter почти наверняка вызывается после инициализации ArrayCollection, но до того, как что-то там будет вставлено. По существу:
private var array:ArrayCollection = new ArrayCollection();
.
.
.
<GridComponent object>.array = array; // Alert.show() shows "0".
.
.
.
var person1:Person = new Person();
person1.id = 1;
person1.name = "pavzie1";
var person2:Person = new Person();
person2.id = 2;
person2.name = "pavzie2";
var person3:Person = new Person();
person3.id = 3;
person3.name = "pavzie3";
array.addItem(person1);
array.addItem(person2);
array.addItem(person3);
Таким образом, у вас все еще есть три элемента в этой коллекции ArrayCollection, но, поскольку вы вызываете этот установщик перед тем, как что-то поместить туда, вы видите «0», что правильно. Опять же, это зависит от того, что говорит остальная часть вашего кода.