2011-08-29 5 views
0

ArrayCollectionまたはXMLListCollectionのソースの役割は何ですか?ArrayCollectionとXMLListCollectionのソースは何ですか?

新しいArrayCollectionオブジェクトまたはXMLListCollectionオブジェクトを作成するときにをコピーすると、そのオブジェクトの内部データ構造にがコピーされますか?

何も更新されていないため、ソース・アレイ(またはXMLList)が修正されており、ドキュメントもそれを確認した場合:

このコレクションの基になるXMLListを。 XMLListCollectionオブジェクトは、ソースXMLListオブジェクトに直接行った変更を表していません。常にXMLListCollectionメソッドを使用してコレクションを変更します。

このプロパティは、データバインディングのソースとして使用できます。このプロパティが変更されると、listChangedイベントが送出されます。

dataProvidersに関連するFlexの例では、データ駆動型コンポーネントのデータソースとして常にArrayまたはXMLListが使用されるため、私は尋ねています。そして、ArrayやXMLListを使用することが必要な場合は - 例えば、外部PHPスクリプトからデータを読み込む場合などです。

答えて

2

コレクションArrayCollectionまたはXMLListCollectionを使用すると、並べ替えやフィルタリングを適用できます。この場合、sourceはフィルタを適用せずに元の順序ですべての要素を返します。私はよくこのようにsourceを使います。コレクションにアイテムを追加したり削除したりすることで、元のソース配列も変更されます。

データプロバイダとしてコレクションや配列を使用すると、MXリストでそれらをすべて使用できますが、スパークリストでは上記のコレクションで実装されたIListしか受け入れられません。

データプロバイダとしてコレクションを使用する利点は、元の配列を変更しなくてもフィルタと並べ替えを適用できることです。もちろん、コレクションの変更を聞くことも可能です。

純粋なまたはXMLListをサンプルで使用すると、特定のクライアントとサーバーとのやり取りの簡潔さと実装の詳細がわかります。

+0

ArrayまたはXMLListがArrayCollectionまたはXMLListCollectionのソース(またはそのコンストラクタで使用される)に割り当てられている場合、コピーされるデータかどうかは? –

+0

@Alexander両方のコレクションは元のソースを使用して変更します。 – Constantiner

+0

@Alexander BTWでは、Flexフレームワークのソースを入手できます。コードから直接これを学ぶことができます:) – Constantiner