Что является источником в ArrayCollection и XMLListCollection?

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

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

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

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

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

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

1 ответ

Решение

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

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

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

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

Другие вопросы по тегам