Domanda

I nuovi di flettersi, ho una classe illustrato di seguito:

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

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

Come faccio a creare un ArrayCollection di merceologica Voci?

Grazie.

È stato utile?

Soluzione

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]);

Un altro modo:

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);

Altri suggerimenti

È anche possibile creare questi in MXML (dentro se si sta utilizzando 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>

Poi riferimento dell'array dal suo id.

Da qualche parte nel codice:

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);
...

Può valere la pena nulla che ArrayCollections non vengono digitati nello stesso modo in cui un vettore può essere, quindi non c'è niente che puoi fare per costringere tutti gli elementi nella vostra collezione ad essere del tipo Elementi. [A meno che non si estende ArrayCollection in qualche modo e sovrascrivere i metodi addItem / addItemAt di gettare errori se il tipo è sbagliata.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top