Flex Air:从文件中读取"ActionScript object"然后投射?


这样做非常简单

,将对象写到文件中,然后读取它:

  • http://corlan.org/2008/09/02/storing-data-locally-in-air/
  • http://cookbooks.adobe.com/post_Storing_ActionScript_Objects_in_the_Encrypted_Loca-10563.html

我的问题是

  1. 为什么当我们把[RemoteClass(alias="foo.酒吧")]进入VO,它可以自动强制转换(否则反序列化对象的类型为包含正确属性数据的通用对象)?
  2. 有没有另一种方法可以在没有 RemoteClass 标签的情况下实现它?(首选使用元数据标记)

谢谢

  1. 答案在您链接到的页面中:

    请注意,别名是与类实例一起存储的键 并将类定义与存储的特定对象链接 在序列化该对象的实例时在字节数组中。这 key 可以是标识此类的任何唯一字符串,但约定是 使用完全规范化的包和类名。

    这就是为什么如果省略别名,则会得到一个泛型对象 - 反序列化方法不知道如何处理数据,除非您指定值应映射到哪个类。

  2. 是的,有:registerClassAlias()做同样的事情。但是元数据标签更漂亮,可以阅读;)

最新更新