ArrayとArrayCollectionの違いについて、やっと腑に落ちたような気がした。
いろいろと書いてあり、マニュアルには

「ArrayCollection クラスは、ICollectionView または IList インターフェイスのメソッドとプロパティを使用して、アクセスおよび操作できるコレクションとして配列を公開するラッパークラスです。 ArrayCollection インスタンスに対する操作はデータソースを変更します。たとえば、ArrayCollection で removeItemAt() メソッドを使用した場合、元になる Array からアイテムが削除されます。 」

と書いてある。
この文面を見ても、理解できないところなどない。
でも、いまひとつ「なーるほど」と言えるほど、理解できない。

でも、前回 ICollectionViewを自作してみてわかった。
DataGridやTreeで表示する際には、表示されている部分だけを管理する必要性や、また、アクセスする方法も多々必要になる。
たとえば、GUIがなければremoveItemAtなどあまり必要がないメソッドだろう。
でも、DataGridで表示していれば、当然、選択した1行を削除などが必要になる。
このような操作ができるインターフェースが ICollecitonViewだ。

このようなデータモデルとして利用するときに、配列を扱えるようにしたものが、ArrayCollectionだと。
要するに、配列データをGUIと結ぶ上で必要な処理をするクラスという事です。
(もちろん、GUIと結ばなくても、イベント処理だけを使うなどもできますが・・・、それはICollecitonViewとは関係ありません。)

と、この説明を聞いていもよくわからないと思いますが、これらの関係がわかればFlexのデータモデルをかなり理解できたことになるのではないでしょうか?ぜひ、ソースを見てみることをお勧めします。
(といっても、まだ、IViewCursorとの関係がよく理解できていません。)

AdvancedDataGridが使えないフリーの方や、スタンダードの場合にはこのモデルしかつかわないともいえるので・・・

お仕事のご依頼・相談を承ります
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら

Leave a Reply

お仕事のご依頼・相談
この記事に関連するお仕事のご依頼やご相談をお待ちしております。 詳しくは、こちら
ソフトウェア&ライブラリ




ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
執筆書籍
本、雑誌等

WEB記事:CodeZine
執筆記事はこちら
カレンダー
2009年6月
« 5月   7月 »
1234567
891011121314
15161718192021
22232425262728
2930  

カスタム検索
RSS
Add to Google < !–adsense–>
アーカイブ
カテゴリ
にほんブログ村 IT技術ブログへ