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