2010-04-20 13 views
6

Kann mir jemand die anwendbaren Unterschiede zwischen einer ArrayCollection und einem Vector im Flex mitteilen? Ich bin mir nicht sicher, ob ich eins über das andere benutzen soll. Ich habe gesehen, dass Vector typsicher ist und das macht mich besser, aber gibt es Nachteile?ArrayCollection versus Vector Objekte in FLEX

public var ac:ArrayCollection = new ArrayCollection(); 

gegen

public var vec:Vector.<String> = new Vector.<String>(); 

Dank.

Antwort

6

Darüber hinaus ist Vector etwa 3 Mal schneller als Array, das ist etwa 18 Mal schneller als ArrayCollection.

Faustregel

  • wenn Sie die Datenbindung/Ereignisse Benachrichtigungen nicht, verwenden Array

UND

  • , wenn alle Elemente im Array der ARE gleichen Typs (und Sie möchten stark tippen), verwenden Sie Vector.
1

Der Vektor ist nur für Flash Player 10 zulässig. Aus der Dokumentation: "Laufzeitversionen: Flash Player 10, AIR 1.5, Flash Lite 4".

4

Vektor unterstützt keine Datenbindung. Dies ist der Hauptunterschied, der normalerweise Flex-Entwickler betrifft.

5

ich Suche nach einem Weg von einem Vektor zu einem Arraycollection zu konvertieren, damit ich es als Dataprovider verwenden kann, und ich fand dies:

http://www.bealearts.co.uk/blog/2010/10/10/vectorcollection-class-to-allow-binding-to-an-as3-vector/comment-page-1/#comment-9486

David Beale einen Wrapper über den Vektor erstellt Klasse und es gibt mir alle Funktionen, die ich brauche. In diesem Moment hat er keinen Performance-Benchmark erstellt, aber ich denke immer noch ist er schneller als eine arrayCollection.

Verwandte Themen