About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Oct

    19

    SharedObject  的 data 属性默认只能保存原始对象,如字符串、数组、数字、布尔值、二进制对象、XML,等等。如果要保存 ArrayCollection 或自定义对象就需要利用一些其它类的实现。由于原始对象数组本身可以包含任何数据类型,所以当数组中也包含了 ArrayCollection  或自定义对象时,也需要利用其它一些类的实现。

    一个普通的包含原始对象字符串或数字等数据的 ArrayCollection  直接通过 ByteArray 的 writeObject方法先转换成二进制再保存。

    var bytes : ByteArray = new ByteArray(); 
    bytes.writeObject(arrayCollection); 
    var sharedObject : SharedObject = SharedObject('myAC'); 
    sharedObject.data.ac  = bytes;

    当取需要回该 ArrayCollection  对象时:

    var ac : ArrayCollection = (SharedObject('myAC').data.ac as 
    ByteArray).readObject() as ArrayCollection;

    如果数组或集合中包含了自定义对象,那么在将它们转换成二进制序列化对象之前,还需要先使用 registerClassAlias() 方法对类进行别名注册。