使用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()函数的错误吗?

最佳答案

如果需要克隆集合的副本,该克隆将保留对原始数组集合的实例的引用,是否可以仅克隆源数组?

例如

var listItem:ArrayCollection = new ArrayCollection();
listItem.push(item:Object );

var cloneList:ArrayCollection = new ArrayCollection(new Array().concat(listItem.source));

关于apache-flex - Flex:克隆函数复制我的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2200484/

10-14 19:45