2013-04-05 72 views
0

現在在我的應用程序中,我已經使用ObjectUtil.copy來複制數組集合。最近我們對應用程序進行了很多更改,並開始打破我的任何複製命令。我原本以爲這是由於數組中的自定義類,但通過測試空的或簡單的ArrayCollections來排除這一點。ObjectUtil.copy將不會複製任何ArrayCollection

這些都不都會爲我工作:

var a:ArrayCollection = ObjectUtil.copy(new ArrayCollection()); 
newWindow.months = ObjectUtil.copy(months) as ArrayCollection; 

在第二行中,newWindow僅僅是一個新的畫布我會用「月」屬性和幾個月顯示是唯一字符串的ArrayCollection在裏面。

在.copy()函數中,它打破了buffer.writeObject(value);並引發此錯誤'ArgumentError:Error#2004:其中一個參數無效。'

+0

你切換的Flex SDK版本? – RIAstar 2013-04-06 19:42:14

回答

0

複製源陣列

newWindow.months = new ArrayCollection(ObjectUtil.copy(months.source) as Array); 
+0

我會試試看。我很困惑,爲什麼我不能做一個ArrayCollection的副本。我之前沒有遇到過問題,並且有大量的例子可以在線工作。 – 2013-04-05 21:17:20