解析Flex ArrayCollection復(fù)制的兩種方式
本文和大家重點(diǎn)討論一下Flex中Flex ArrayCollection的復(fù)制,在Flex的開(kāi)發(fā)過(guò)程中,常常會(huì)遇到復(fù)制Flex ArrayCollection的情況,這里和大家分享一下。
Flex中Flex ArrayCollection的復(fù)制
在Flex的開(kāi)發(fā)過(guò)程中,常常會(huì)遇到復(fù)制Flex ArrayCollection的情況。以前只是從網(wǎng)上找個(gè)方法拿來(lái)就用,也沒(méi)有具體的搞清楚所以然來(lái)。今天有時(shí)間,研究了一下,總結(jié)如下:
Flex中的復(fù)制同java一樣,也分為深復(fù)制和淺復(fù)制。
◆下面總結(jié)一下Flex ArrayCollection的淺復(fù)制,共有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());
以上方法中,***種方法由于不是創(chuàng)建的獨(dú)立的Flex ArrayCollection對(duì)象,所以不推薦使用。第二、三、四種方法相似,可以參考使用。
◆有的時(shí)候,我們也會(huì)用到深復(fù)制,方法如下:
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類(lèi)用法詳解
- Flex必須了解的那些事
- Flex Array和Flex ArrayCollection的用法和區(qū)別
- FlexBuilder3.0與Eclipse3.4的***結(jié)合
- Flex ComboBox和Datagrid組件用法指導(dǎo)