因为在FLEX的帮助文档说写到,所有的FLEX 对象都是使用引用传递,因为所有的数据类型都是一个对象。但是通过FLEX 对控件对象的封装,简单的说就是MVC的形式,其实可以很到的避免这个问题下面的方法是因为很多小项目,写FLEX 像写JS 一样,随处引用变量太多,而且都在同一个目录下,所以引用传递会导致牵一发动全身。
/**
* 通过此方法重新定义新数据,将完成值数据传递。所以不必担心修改新数据,而影响数据源
* @param dataSource 所请求数据源
* @return 表中数据源信息
*/
public function getTableData(dataSource:Object):*
{
var tempTableData:ByteArray = new ByteArray();
/* 将数据源以流形式写入 */
tempTableData.writeObject(dataSource);
/* 确定数据源指针位置,也就是重新读入源的起点 */
tempTableData.position = 0;
return (tempTableData.readObject());
}