2011-08-29 4 views
0

Какова роль источника для коллекции ArrayCollection или XMLListCollection?Что такое источник в ArrayCollection и XMLListCollection?

Используется ли он один раз - при построении нового объекта ArrayCollection или XMLListCollection и он скопирован в некоторую внутреннюю структуру данных этого объекта?

Потому что ничего не обновляется, когда источник Array (или XMLList) модифицируется и документация подтверждает также:

Основополагающий XMLList для этой коллекции. Объект XMLListCollection не представляет никаких изменений, которые вы делаете непосредственно в исходный объект XMLList. Всегда используйте методы XMLListCollection для изменения коллекции.

Это свойство может использоваться как источник привязки данных. Когда это свойство изменяется, оно отправляет событие listChanged.

Я спрашиваю, потому что примеры Flex, связанные с dataProviders, всегда используют некоторый массив или XMLList в качестве источника данных для компонента, управляемого данными. И мне интересно, если нужно использовать Array или XMLList вообще - когда, например, загружают данные из внешнего PHP-скрипта.

ответ

2

Использование коллекций ArrayCollection или XMLListCollection, вы можете использовать их для сортировки или фильтрации. В этом случае source вернет все элементы в исходном порядке без применения фильтра. Я часто использую source таким образом. Добавление и удаление элементов из коллекции также изменяет исходный исходный массив.

Что касается использования коллекций или массивов в качестве поставщика данных, вы можете использовать их все в списках MX, но в списках Spark можно принимать только IList, которые реализованы упомянутыми выше коллекциями.

Преимущество использования коллекций в качестве поставщика данных заключается в возможности применения фильтров и сортировки без изменения исходного массива. И, конечно, возможность прослушать изменения коллекции.

Использование чистых Array или XMLList в образцах, я полагаю, предназначено для простоты и некоторых деталей реализации конкретного взаимодействия клиент-сервер.

+0

Итак, когда Array или XMLList назначается источнику (или используется в конструкторе) ArrayCollection или XMLListCollection - копируются ли данные? –

+0

@Alexander Обе коллекции используют и изменяют исходные источники. – Constantiner

+0

@Alexander BTW доступны источники фрейма. Вы можете узнать это из кода напрямую :) – Constantiner