解析Flex ArrayCollection復制的兩種方式
本文和大家重點討論一下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組件用法指導