Array与ArrayCollection的区别
程序员文章站
2022-07-15 08:50:29
...
当Array的数据发生变化的时候,用它作为数据源的控件不能感知这种变化。
例如:myArray.push("new value"); 这时,如果一个List用它作为dataProvider,List的列表中不会增加新加入的这个值。
而当ArrayCollection的数据发生变化的时候,能够通知控件发生变化。
例如:myArrayCollection.addItem("new item"); 这时,如果一个控件List用它作为dataProvider,List列表中会增加一列内容.
为什么呢?
ArrayCollection实现了ICollectionView接口,在FLEX类定义内属于[数据集],
他提供更强大的检索、过滤、排序、分类、更新监控等功能。FDK2提供的类似的类还
有XMLListCollection.
两者的区别在于,如果用Array来作为控件的dataProvider,则无法获得控件的
更新,除非控件被重新绘制或者dataProvider被重新指定.而collection则是让
array的副本存储于collection类的某个对象之中,其特点是collection类本身就
具有数据同步的功能.
例如:myArray.push("new value"); 这时,如果一个List用它作为dataProvider,List的列表中不会增加新加入的这个值。
而当ArrayCollection的数据发生变化的时候,能够通知控件发生变化。
例如:myArrayCollection.addItem("new item"); 这时,如果一个控件List用它作为dataProvider,List列表中会增加一列内容.
为什么呢?
ArrayCollection实现了ICollectionView接口,在FLEX类定义内属于[数据集],
他提供更强大的检索、过滤、排序、分类、更新监控等功能。FDK2提供的类似的类还
有XMLListCollection.
两者的区别在于,如果用Array来作为控件的dataProvider,则无法获得控件的
更新,除非控件被重新绘制或者dataProvider被重新指定.而collection则是让
array的副本存储于collection类的某个对象之中,其特点是collection类本身就
具有数据同步的功能.
下一篇: labview环境下Tcp/Ip实现通信