使用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/