0
我有一個數組集合,其中添加了如下的不同模型值。flex中的ArrayCollection問題
var ob:Object=new Object();
ob.name=string1;
ob.data=model.arraylist1;
ob.id=model.arraylist2;
nextArrayCollection.addItem(ob);
//model.arraylist1 value is changed here
//model.arraylist2 value is changed here
ob=new Object();
ob.name=string1;
ob.data=model.arraylist1;
ob.id=model.arraylist2;
nextArrayCollection.addItem(ob);
的問題是,當第二項被添加到在nextArrayCollection ArrayCollection中的第一項的值作爲第二個項目添加也改變到相同。
我真的很困惑這裏發生了什麼。 每次我將新項目添加到nextArrayCollection時,所有現有項目值都會更改爲添加的新項目。 arraycollection是使用refrence而不是值。我怎樣才能克服這個問題?
它不是由於ArrayCollection的,但由於同refrence的,對於第2項使用「OB2」 – Imran
我試過太多,但沒有NT工作 – Chinta
它沒有工作,因爲這兩個@Imran評論和MonkeyMagiic回答指出,1兩的你的問題。 1)你需要不同的對象,即var ob:Object = new Object()和var ob2:Object = new Object()。在第二個添加中設置ob = blah只會更新原始(及其引用)。 2)您將值(數據,名稱,ID)指向SAME模型屬性...因此所有對象(即使您使用ob1,ob2等)都指向相同的數據。因此,如果模型更改,則對模型的所有引用都會更新。 –