2011-07-25 21 views
-1

我新的彎曲,我在下面所示的類:如何創建對象的ArrayCollection?

public class Items extends Object 
{ 
    public function Items(){ 
     super(); 
    } 

    public var name:String; 
    public var count:int; 
} 

如何創建類型項目的ArrayCollection?

謝謝。

+0

如何創建String的ArrayCollection? –

回答

3
var item1:Items = new Items(); 
item1.name = "Name1"; 
item1.count = 5; 

var item2:Items = new Items(); 
item2.name = "Name2"; 
item2.count = 7; 

var items:ArrayCollection = new ArrayCollection([item1, item2]); 

另一種方式:

var items:ArrayCollection = new ArrayCollection(); 

var item1:Items = new Items(); 
item1.name = "Name1"; 
item1.count = 5; 
items.addItem(item1); 

var item2:Items = new Items(); 
item2.name = "Name2"; 
item2.count = 7; 
items.addItem(item2); 
1

某處在您的代碼:

var ac : ArrayCollection = new ArrayCollection(); 
var newItem : Items = new Items(); 
newItem.name = 'some value'; 
newItem.count = 1; 
ac.addItem(newItem); 
newItem = new Items(); 
newItem.name = 'some other value'; 
newItem.count = 2; 
ac.addItem(newItem); 
newItem = new Items(); 
newItem.name = 'Yet another value'; 
newItem.count = 3; 
ac.addItem(newItem); 
... 

這可能是值得什麼,ArrayCollections不以同樣的方式,一個載體可以打字,所以沒有任何事情可以強制集合中的所有項目都是Items類型。 [除非以某種方式擴展ArrayCollection並且重寫addItem/addItemAt方法以在類型錯誤時拋出錯誤。

2

您也可以在MXML中創建這些(裏面,如果你使用Flex 4)

<s:ArrayCollection id="theCollection"> 
    <namespace:Items name="name 1" count="5" /> 
    <namespace:Items name="name 2" count="6" /> 
    <namespace:Items name="name 3" count="7" /> 
    <namespace:Items name="name 4" count="8" /> 
</s:ArrayCollection> 

然後引用其ID陣列。