我有一个SharedObject,我在其中保存了一些Flash应用程序中的数据。我正在尝试删除一些已保存的数据,但它不起作用。
trace(delete(localData.data[key]));
delete命令返回true,但是当我重新加载数据时,它看起来没有被删除。
截至目前,最好的解决方案是“localData.clear();”所有数据,然后保存它没有我想删除的字段。
答案 0 :(得分:3)
您需要调用flush()方法来“提交”您的更改:
立即将本地持久性共享对象写入本地文件。 如果不使用此方法,Flash Player会将共享对象写入 共享对象会话结束时的文件 - 即SWF时的文件 当共享对象被垃圾收集时,文件被关闭 不再有任何参考,或当你打电话 SharedObject.clear()或SharedObject.close()。
此处有更多信息:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SharedObject.html#flush()