在sharedObject中将元素添加到数组的末尾

时间:2013-07-16 22:24:53

标签: actionscript-3 flash flex air flash-builder

我想用每个点击按钮为数组添加一个元素。

我使用了共享对象。因为在我重新打开我的应用程序后我打算调用我的数据。

如何在共享对象中定义数组?

我无法使用它:

myData.data.list = [];

因为当我再次打开我的应用程序时,我的最后一个数据将被删除。

如何在共享对象中向我的变量添加元素? 我试过这个:

Array(myData.data.list).push(number);

但是当我跟踪它时,它的每个索引仍未定义且没有任何变化。

解决方案是什么?

2 个答案:

答案 0 :(得分:0)

尝试以下步骤:

创建数组的第一个ActionScript代码,并推送数组中的元素。最后在ShraedObject中存储了Array。 SharedObject是存储磁盘。所以它可能是ByteArray的形式。所以读取并且必须将数据类型转换为匹配。

如果要在SharedObject中写入数组

var myArray:Array = [obj1, obj2...];
var so:SharedObject = SharedObject.getLocal("myArray");
so.data.myArrayData = myArray;
so.flush();

将其检索回任何地方并将元素添加到数组的末尾。并重新铺设。

var so:SharedObject = SharedObject.getLocal("myArray");
var myArray:Array = so.data.myArrayData;
myArray.push(number);
so.data.myArrayData = myArray;
so.flush();

答案 1 :(得分:0)

我发现了一些有用的内容,我将添加到上面的代码答案中:

To retrieve it back anywhere and adding element to end of array. and resaved.

var so:SharedObject = SharedObject.getLocal("myArray","/");
var myArray:Array = so.data.myArrayData;
myArray.push(number);
so.data.myArrayData = myArray;
so.flush();

为避免无意中限制对共享对象的访问, 使用localpath参数。 - 这是" /"