【问题标题】:adding element to end of array in sharedObject将元素添加到 sharedObject 中的数组末尾
【发布时间】:2013-07-15 07:28:30
【问题描述】:
我想通过每个点击按钮向数组中添加一个元素。
我使用了共享对象。因为我要在我重新打开我的应用程序后调用我的数据。
如何在共享对象中定义数组?
我不能用这个:
myData.data.list = [];
因为当我再次打开我的应用程序时,我最后的数据将被删除。
以及如何将元素添加到共享对象中的变量?
我试过这个:
Array(myData.data.list).push(number);
但是当我跟踪它时,它的每个索引仍然未定义并且没有任何改变。
解决办法是什么?
【问题讨论】:
标签:
actionscript-3
flash
apache-flex
air
flash-builder
【解决方案1】:
我发现了一些有用的东西,我将添加到上面的代码答案中:
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 参数。 - 即“/”
【解决方案2】:
试试这个步骤:
第一个 ActionScript 代码创建一个 Array,并将元素压入 Array 中。最后将 Array 存储在 ShraedObject 中。 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();