AS3的ios:如何序列化一个数组,然后保存它

我有一个multidimentional数组,我想序列化,然后使用SharedObjects保存它。 我尝试了很多东西,但每次都有问题。

JSON:不能有types。

ByteArray:结果不是String,那么SharedObject不想保存它。

可能是SharedObjects不是解决scheme的一部分。

所以我的问题是:有一个简单的解决scheme,以保存光盘上的数组,并检索这个数组?

谢谢。

你需要使用flash.net.registerClassAlias

所以如果我有这样的课程:

 package com { public class Bob { public var myArray:Array; } } 

我可以这样做:

 registerClassAlias("com.Bob", Bob); 

然后,您可以将Bob类对象保存到您的共享对象中(或者再次检索它们)

完整的例子:

 //register the class - you only need to do this once in your class registerClassAlias("com.Bob", Bob); 

 //Lets save a Bob instance into a shared object var bob:Bob = new Bob(); bob.myArray = ["blah","blah","blah"]; var bobSO:SharedObject = SharedObject.getLocal("Bob"); bobSO.data.bob = new Bob(); bobSO.flush(); 

 //now at a later time, let's retrieve it var bobInstance:Bob; var bobSO:SharedObject = SharedObject.getLocal("Bob"); if (bobSO.size > 0 && bobSO.data.bob && bobSO.data.bob != undefined) { bobInstance = bobSO.data.bob; } 

请记住,你需要注册所有使用的类(如果你有不同的类存储在你的数组中)。