ArrayCollection против векторных объектов в FLEX - PullRequest
6 голосов
/ 20 апреля 2010

Может кто-нибудь сказать мне применимые различия между ArrayCollection и Vector в flex? Я не уверен, должен ли я использовать один поверх другого. Я видел, что Vector - это безопасный тип, и это заставляет меня чувствовать себя лучше, но есть ли недостатки?

public var ac:ArrayCollection = new ArrayCollection();

против

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

Спасибо.

Ответы [ 4 ]

6 голосов
/ 20 апреля 2010

Кроме того, Vector примерно в 3 раза быстрее, чем Array, что примерно в 18 раз быстрее, чем ArrayCollection.

Эмпирическое правило равно

  • , если вам не требуется привязка данных/ уведомления о событиях, используйте Array

AND

  • , если все элементы в массиве имеют одинаковый тип (и вы хотите строгую типизацию), используйте Vector.
5 голосов
/ 22 октября 2010

Я искал способ преобразования вектора в коллекцию массивов, чтобы я мог использовать его в качестве поставщика данных, и нашел следующее:

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) создал оболочку для векторного класса, и он предоставляет все необходимые мне функции. На данный момент он не создал тест производительности, но я все еще думаю, что он быстрее, чем arrayCollection.

4 голосов
/ 20 апреля 2010

Vector не поддерживает привязку данных. Это основное отличие, которое обычно влияет на разработчиков Flex.

1 голос
/ 20 апреля 2010

Вектор допустим только для Flash Player 10. Из документации: «Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...