Что является источником в 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
в примерах, я полагаю, для простоты и некоторых деталей реализации конкретного взаимодействия клиент-сервер.