本文和大家重点讨论一下Flex中Flex ArrayCollection的复制,在Flex的开发过程中,常常会遇到复制Flex ArrayCollection的情况,这里和大家分享一下。
Flex中Flex ArrayCollection的复制
在Flex的开发过程中,常常会遇到复制Flex ArrayCollection的情况。以前只是从网上找个方法拿来就用,也没有具体的搞清楚所以然来。今天有时间,研究了一下,总结如下:
Flex中的复制同java一样,也分为深复制和浅复制。
◆下面总结一下Flex ArrayCollection的浅复制,共有4种方法:
1、varnewArray:ListCollectionView=newListCollectionView(ListCollectionView(oldArray).list);
2、varnewArray:Flex ArrayCollection=newFlex ArrayCollection(oldArray.source);
3、varnewArray:Flex ArrayCollection=newFlex ArrayCollection(oldArray.source.slice());
4、varnewArray:Flex ArrayCollection=newFlex ArrayCollection(oldArray.toArray());
以上方法中,***种方法由于不是创建的独立的Flex ArrayCollection对象,所以不推荐使用。第二、三、四种方法相似,可以参考使用。
◆有的时候,我们也会用到深复制,方法如下:
varnewArray:Flex ArrayCollection=Flex ArrayCollection(this.clone(oldArray));
this.clone()方法定义如下:
- functionclone(source:Object):*
- {
- varmyBA:ByteArray=newByteArray();
- myBA.writeObject(source);
- myBA.position=0;
- return(myBA.readObject());
- }
【编辑推荐】
- Flex ArrayCollection类用法详解
- Flex必须了解的那些事
- Flex Array和Flex ArrayCollection的用法和区别
- FlexBuilder3.0与Eclipse3.4的***结合
- Flex ComboBox和Datagrid组件用法指导