我使用ObjectUtil.copy()和ByteArray.writeObject / readObject()有一些奇怪的行为。
我克隆了一个ArrayCollection,有时候结果是两个相同的类实例。
示例:
var item:Object = new Object();
item.name = "Hello World";
var listItem:ArrayCollection = new ArrayCollection();
listItem.push(item:Object );
var cloneList:ArrayCollection = ObjectUtil.copy(listItem);
trace(cloneList.length);
// 2
我不明白我做错了什么。有没有错过的东西? 它不是所有ArrayCollection都可重现的。有一段时间,它工作正常。 它是ObjectUtil.copy()函数的错误吗?
答案 0 :(得分:0)
如果你需要一个能够保存对原始数组集合实例的引用的数组集合的克隆,你能不能只克隆源数组?
e.g。
var listItem:ArrayCollection = new ArrayCollection();
listItem.push(item:Object );
var cloneList:ArrayCollection = new ArrayCollection(new Array().concat(listItem.source));